Java缓存要点

1、缓存一般是这样的:先查缓存,查不到就查DB,如果DB查不到就结束,DB查到了就写入缓存。

如果用户一直在大量地查询不存在的数据,则所有的请求都会落到DB,而且没有数据写入缓存。

解决方法:把查不到值也缓存下来,比如{"555": null},不过可以把这种缓存的生命周期调短一点。

 

2、如果大量的缓存过期时间设置成一样的,那么他们会在同一时间失效,DB的压力会在一瞬间骤增。

解决方法:可以把缓存的过期时间设置成相互错开1-5秒,秒数随机。

 

3、如果数据不是很大,但查询量很大,可以在应用启动时,把所有的数据都加载到缓存中,而且设置成永不失效。

但注意:每一项对底层数据的修改要同步到缓存,否则会造成错误.

 

转载于:https://www.cnblogs.com/shuada/p/9184985.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值