首页/数据/Redis 进阶速查/缓存雪崩与 TTL 打散
数据结构与选型42 条

缓存雪崩与 TTL 打散

大批缓存同一时刻失效,请求同时回源可能压垮数据库:给 TTL 加随机抖动、分级过期,或对热点数据做多级缓存与限流预热。

Redis 进阶速查数据更新于 2026-10-12
成因批量同 TTL、实例重启、集中刷新
对策TTL 等于基础值加随机抖动
兜底回源限流、熔断、多级缓存

示例

示例
redis-cli SET feed:1001 '{data}' EX 3600
# TTL 打散:应用侧生成 3600 加上随机 0-600
redis-cli TTL feed:1001
缓存实例整体重启是另一种雪崩:上线与重启节奏错开、实例分组预热、重启后先限流放量。

易错点

  • 只给同批数据加同一 TTL 等于人为制造雪崩,抖动窗口要按业务回源承受力设计
  • 回源限流会牺牲部分请求,需要与业务侧约定降级策略

数据来源与参考

  • Redis 官方文档:高可用与降级相关章节
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌