缓存相关知识

本文探讨了缓存穿透、缓存雪崩及缓存击穿三种现象,并提供了相应的解决方案,包括使用布隆过滤器、设置随机失效时间和采用互斥锁等。

缓存穿透:

缓存穿透是指查询一个一定不存在的数据,会访问数据库,流量大的时候,数据库会挂掉。解决方案:1.布隆过滤器。2.结果不存在是,返回一个空值,设置缓存时间为几分钟。

缓存雪崩:

缓存在某一时刻,全部大量失效,导致查询全部来到了数据库,从而导致数据库在大量查询的情况下崩溃。

解决方案:可以在失效时间上采用一个随机值来设置失效时间。

缓存击穿:

缓存在某个时间点过期的时候,恰好在这个时间点对这个Key有大量的并发请求过来,这样大量的请求就落到了数据库上。从而导致数据库崩溃。解决方案:采用互斥锁的形式,让其他线程等待一定时间再去查询数据库,从而避免大量查询数据库。

 

文章内容来自网络。

 

 

转载于:https://my.oschina.net/u/3667353/blog/1580231

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值