Redis-击穿雪崩穿透
2026年10月16日·Admin·1 次浏览
缓存击穿、雪崩、穿透
缓存击穿(热点 key 过期)
现象:某个热点 key 过期瞬间,大量请求打到 DB。
思路:
- 互斥锁 / 单飞:只允许一个线程回源,其它等待或短暂降级。
- 逻辑过期:异步更新,读时若过期仍返回旧值(需业务容忍)。
- 热点永不过期 + 异步刷新。
缓存雪崩(大量 key 同时失效或 Redis 宕机)
现象:缓存层整体失效,流量压垮 DB。
思路:
- 过期时间加随机抖动,避免同时过期。
- 多级缓存、集群高可用。
- 限流、熔断、降级保护 DB。
缓存穿透(查不存在的数据)
现象:恶意或业务上不存在的 key,缓存没有、DB 也没有,每次穿透到 DB。
思路:
- 布隆过滤器:大概率判断不存在则直接返回。
- 缓存空值(短 TTL),避免反复打 DB。
- 接口层参数校验。