跳转至

Redis 缓存穿透、击穿、雪崩与治理方案

缓存问题的本质是:高并发下对“同一个热点/同一类不存在”的访问被放大,回源把后端打垮。

1. 三个概念

  • 穿透:大量请求访问不存在的 key,缓存永远 miss
  • 击穿:热点 key 过期瞬间,大量请求同时回源
  • 雪崩:大批 key 同时过期或缓存服务不可用,回源洪峰

2. 常见治理

  • 穿透:缓存空值 + 布隆过滤器
  • 击穿:互斥锁/单飞(singleflight)+ 热点预热
  • 雪崩:过期时间抖动 + 分层缓存 + 熔断限流

3. 运维建议

  • 监控 hit ratio、keyspace、慢查询、连接数
  • 关键写路径避免大 key、避免热 key 写放大