Skip to content

缓存穿透、缓存击穿、缓存雪崩分别是什么, 怎么解决 ​

题目 ​

缓存穿透、击穿、雪崩分别是什么?怎么解决?

参考答案 ​

  • 穿透:查不存在的数据。解法:空值缓存、布隆过滤器
  • 击穿:热点 key 过期瞬间被打爆。解法:互斥锁、不过期、预热
  • 雪崩:大量 key 同时过期或缓存整体故障。解法:随机过期、多级缓存、限流降级

这三个问题本质上都是数据库兜底压力过大,但成因不同。

回答展开 ​

  • 缓存题建议按原理、风险、治理方案三个层次展开。
  • 如果涉及集群或高可用,要明确 Redis 更偏最终一致而不是强一致。
  • 如果涉及缓存问题,最好把穿透、击穿、雪崩的成因和治理手段区分开。

实际场景 ​

比如商品详情缓存、用户会话缓存、配置缓存是 Redis 的典型使用场景;一旦出现缓存失效、热点集中或删除失败,就需要完整的治理策略。

努力工作 享受生活