首页/数据/数据库速查/缓存预热(上线与重启后)
Redis 运维与场景124 条

缓存预热(上线与重启后)

冷缓存=全部回源:上线、重启、扩容后先预热热点数据,控制回源速率,避免数据库被第一波流量打穿。

数据库速查数据更新于 2026-10-12

预热脚本思路

预热脚本思路
# 1) 从数据库/日志导出热点键清单
# 2) 批量写入并设置 TTL(带抖动):
for line in hot_keys.txt; do
  redis-cli SET "cache:$line" "$(loader)" EX $((600+RANDOM%120))
done
# 3) 控制速率(每秒 N 个),分批完成
# 4) 观察数据库指标与缓存命中率回升
时机上线前、重启后、扩容新节点加入后
内容热点 + 核心业务数据
速率按 DB 承受能力限速
验证keyspace_hits 上升、回源 QPS 下降
预热清单要可持续维护:从访问日志/埋点排行自动生成,而不是人工拍脑袋。

易错点

  • 预热全量数据:耗时数小时还占满内存,只预热点即可
  • 预热不设过期:后来数据变更了缓存永远旧

数据来源与参考

  • Redis 官方文档: 缓存预热实践

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌