白狗子的博客

「天上浮云如白衣,斯须改变如苍狗。」——杜甫

Redis-击穿雪崩穿透

2026年10月16日·Admin·1 次浏览

缓存击穿、雪崩、穿透

缓存击穿(热点 key 过期)

现象:某个热点 key 过期瞬间,大量请求打到 DB。
思路:

  • 互斥锁 / 单飞:只允许一个线程回源,其它等待或短暂降级。
  • 逻辑过期:异步更新,读时若过期仍返回旧值(需业务容忍)。
  • 热点永不过期 + 异步刷新。

缓存雪崩(大量 key 同时失效或 Redis 宕机)

现象:缓存层整体失效,流量压垮 DB。
思路:

  • 过期时间加随机抖动,避免同时过期。
  • 多级缓存、集群高可用。
  • 限流、熔断、降级保护 DB。

缓存穿透(查不存在的数据)

现象:恶意或业务上不存在的 key,缓存没有、DB 也没有,每次穿透到 DB。
思路:

  • 布隆过滤器:大概率判断不存在则直接返回。
  • 缓存空值(短 TTL),避免反复打 DB。
  • 接口层参数校验。

© 2025 My Blog. Built with Nuxt.js v4