Redis 缓存穿透、击穿、雪崩解决方案
2021-07-22 11:35:23 7 举报
AI智能生成
Redis 缓存穿透、击穿、雪崩解决方案
作者其他创作
大纲/内容
缓存穿透
原因
缓存和数据库都查询不到这条数据,但是请求每次都会打到数据库上面去
影响
产生大量的请求到数据库去查询。可能会导致你的数据库由于压力过大而宕掉
解决方案
缓存空值、并设置缓存时间
BloomFilter
nginx增加配置,对超过访问阀值的IP进行限制
缓存击穿
原因
在平常高并发的系统中,大量的请求同时查询一个 key 时,此时这个key正好失效了,就会导致大量的请求都打到数据库上面去。这种现象我们称为缓存击穿。
影响
会造成某一时刻数据库请求量过大,压力剧增。
解决方案
互斥锁
缓存雪崩
原因
缓存雪崩的情况是说,当某一时刻发生大规模的缓存失效的情况,比如你的缓存服务宕机了,会有大量的请求进来直接打到DB上面
影响
DB 称不住,挂掉。
解决方案
事前:使用集群缓存,保证缓存服务的高可用
事中:ehcache本地缓存 + Hystrix限流&降级,避免MySQL被打死
事后:开启Redis持久化机制,尽快恢复缓存集群
0 条评论
下一页