缓存预热

重启或发布后缓存为空,流量直压数据库;通过预热脚本回填热点数据、延迟放量与分批导流降低冲击,预热进度要与放量节奏联动。

对象热点商品、配置、权限等重启后高频访问的数据
手段发布前离线加载到缓存;灰度放量控制回源
联动缓存命中率恢复到阈值后再逐步放开全量
  • 清单:按历史访问榜与活动计划整理待预热热点键
  • 回填:脚本分批加载,控制速率避免压垮数据源
  • 校验:抽查关键键的缓存值与数据源一致性
  • 联动:命中率与回源量达标后再逐级放量
  • 兜底:未完成预热的键配互斥重建与限流保护
触发时机发布重启后、大促活动前、批量数据更新后、缓存扩容迁移后
粒度控制按业务域分批发布进度,核心交易链路的键优先加载
  • 版本对齐:预热数据与发布版本核对,避免加载旧版本数据
  • 增量补偿:发布期间的新数据同步写缓存,弥补预热时间差
  • 回滚清理:回滚后清理已写入的键,防止旧数据残留
  • 可中断性:预热脚本支持中断续跑,按批次记录进度
预热清单要随业务演进维护:活动热点与日常热点不同,按活动单独准备。

易错点

  • 重启后直接全量放行,缓存击穿打垮数据库
  • 预热数据过期策略未同步,热点提前失效

数据来源与参考

  • AWS 白皮书:Database Caching Strategies Using Redis
  • 《高性能 MySQL(第 4 版)》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌