缓存雪崩 穿透 击穿
缓存雪崩
在某一时刻 大量缓存在同一时刻失效 导致大量请求打到数据库中 将数据库打摊
解决方案:
将缓存失效时间随机设置到1-5分钟内 这样就避免了在 一段时间内 缓存数据大量失效
缓存击穿
类似缓存雪崩 不同的是缓存穿透是由单个数据失效 高并发场景下 大量请求打到数据库中 导致数据库宕机
解决方案:
可以将热点数据失效设置为永不失效
可以添加互斥锁 只有拿到锁的用户才能进行访问
缓存穿透
这种情况是 访问不存在的数据 因为数据不存在 数据库和redis中都查不到数据 恶意用户会频繁访问不存在的数据 因为缓存中没有数据 则跳过redis 直接访问数据库 将数据库打宕机
解决方案:
可以添加将空数据存入缓存中 并设置一个失效时间
使用布隆过滤器
虽然道路是曲折的,但前途是光明的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律