redis的缓存雪崩、缓存穿透、缓存击穿的原因以及解决方案
一、何为缓存雪崩?
所谓缓存雪崩就是在某一个时刻,缓存集大量失效。所有流量直接打到数据库上,对数据库造成巨大压力;
解决方案
1、缓存过期时间错开
设置缓存时间错开,可以在设置过期时间的时候,加一个一定范围内的随机值来错开
2、添加缓存标记
给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。
3、使用锁或队列
一般并发量不是特别多的时候,使用最多的解决方案是加锁排队,加锁排队只是为了减轻数据库的压力,并没有提高系统吞吐量。假设在高并发下,缓存重建期间k
原创
2021-08-23 17:53:20 ·
151 阅读 ·
0 评论