概述
缓存穿透
客户端请求的数据,缓存和数据库中都没有数据
1缓存空对象
优点:实现简单,维护方便
缺点:额外内存消耗(设置TTL缓存过期时间)
数据短期不一致性(控制TTL过期时间)
2布隆过滤器
在客户端和redis中添加布隆过滤器 有一定的缓存穿透风险
不通过的肯定没有,通过的也可能没有
优点:内存占用小
缺点:实现复杂,存在误判
缓存雪崩
同一时间内大量缓存key失效或者redis服务器宕机导致大量请求访问数据库
1给不同的数据添加随机的TTL(第一次使用缓存将批量数据从数据库导入redis)
2配置redis集群 主从 哨兵 集群 分片
3给缓存业务添加降级限流
4业务多级缓存 其他中间件 数据库mycat
缓存击穿
热点key问题,高并发的key突然失效且缓存重建业务比较复杂,导致大量请求瞬间访问数据库。
查询数据库重建缓存业务比较复杂且耗时严重,高并发
1互斥锁
2逻辑过期
最后
以上就是可靠小兔子为你收集整理的redis异常缓存穿透缓存雪崩缓存击穿的全部内容,希望文章能够帮你解决redis异常缓存穿透缓存雪崩缓存击穿所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复