缓存雪崩 穿透 击穿

缓存雪崩

在某一时刻 大量缓存在同一时刻失效 导致大量请求打到数据库中 将数据库打摊

解决方案:
将缓存失效时间随机设置到1-5分钟内 这样就避免了在 一段时间内 缓存数据大量失效

缓存击穿

类似缓存雪崩 不同的是缓存穿透是由单个数据失效 高并发场景下 大量请求打到数据库中 导致数据库宕机

解决方案:
可以将热点数据失效设置为永不失效
可以添加互斥锁 只有拿到锁的用户才能进行访问

缓存穿透

这种情况是 访问不存在的数据 因为数据不存在 数据库和redis中都查不到数据 恶意用户会频繁访问不存在的数据 因为缓存中没有数据 则跳过redis 直接访问数据库 将数据库打宕机

解决方案:
可以添加将空数据存入缓存中 并设置一个失效时间
使用布隆过滤器

posted @   RainbowMagic  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示