基于Spring Cache实现Caffeine、jimDB多级缓存实战
在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,内存缓存采用Caffeine缓存,利用WTinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并发;后期通过压测及性能调优999性能<20ms
Wesley13 Wesley13
3年前
java代码跨域通用方法
/通用的跨越调接口方法@parampath请求的url路径@return/publicstaticStringgetHttpResponse(Stringpath){try{URLurlnewURL(path);HttpURLConnectionconn
Wesley13 Wesley13
3年前
SPFILE 错误导致数据库无法启动(ORA
\\SPFILE错误导致数据库无法启动(ORA01565)\SPFILE错误导致数据库无法启动SQL\startupORA\01078:fail
Wesley13 Wesley13
3年前
SQL基本操作语法
查看数据库Shoudatabases;创建数据库如果没有修改my.ini配置文件的默认字符集,在创建数据库时,指定字符集createdatabasedb\_namecharacterset’utf8’;特殊字符(关键字)用反引号createdatabasecrea
Wesley13 Wesley13
3年前
MySql
想把一个数据库中表中数据复制到另一个数据库或者同一个数据库中可以采取以下方法:1.表结构相同的表,且在同一数据库(如,table1,table2)Sql:insertintotable1select\fromtable2(完全复制)insertintotable1selectdistinc
Stella981 Stella981
3年前
Play Scala 开发技巧
在系统开发中,我们经常需要保护一些安全性较高的接口,限制这些接口每秒处理的请求数量。例如对于一个计算密集型接口,假设压测值是100rps,如果实际情况长期高于这个值,则会引起滚雪球效应,最终导致系统崩溃。下面我们一起来看看如何在Play中实现一个完全异步非阻塞的请求限速?本文代码已提交至 playcommunity(https://www.os
Wesley13 Wesley13
3年前
mysql连接池不能回避的wait timeout问题(转)
起因我们的项目组一直在使用albianj作为开发框架在开发应用。使用至今倒也是没有出现很大的问题,但最近加过监控的接口基本上都会在使用一段时间后,突然之间执行数据库操作变得很慢。虽然会变慢,但持续的时间比较短,一般1分钟左右,然后会自动恢复正常。但是过了一段时间,这个现象又会出现,周而复始。从监控看,发生的时间点并无规律,有的时候一天发生3次,有的
Stella981 Stella981
3年前
RabbitMQ延迟消息发送
为什么使用延迟消息?不同于同步消息,有些业务场景下希望可以实现延迟一定时间再消费消息。典型的场景有微信、支付宝等第三方支付回调接口,会在用户支付后3秒、5秒、30秒等等时间后向应用服务器发送回调请求,确保应用服务器可以正确收到消息。那有些朋友就会说了,把需要定时处理的数据存到数据库中用定时任务就可以实现,为什么还弄个异步消息。增加后台维护
公孙晃 公孙晃
2年前
多引擎数据库管理工具:DataGrip 2023 Mac v2023.1汉化版
DataGrip是一款功能强大、易于使用的数据库集成开发环境,可以帮助开发人员快速地管理和开发各种数据库应用程序,是数据库开发人员的必备工具之一。
IT全栈视野 IT全栈视野
12个月前
推荐开源数据库管理客户端HeidiSQL 和 DBeaver
HeidiSQL和DBeaver都是很受欢迎的开源免费数据库管理客户端,以下是对它们的具体介绍:HeidiSQL支持的数据库:支持多种数据库系统,如MySQL、MariaDB、MicrosoftSQLServer、PostgreSQL和SQLite等。功能