Redis缓存预热
Redis缓存预热详解
为什么要缓存预热
- 为了放置缓存击穿:如果系统重启,Redis是空的。大量用户请求热点数据时,缓存未命中,大量请求会直接压到数据库
导致数据库挂掉。 - 提升用户体验:预热后,加载时间大大降低
简单来说,缓存预热就是空间换时间
怎么做
- 启动时同步预热
|
项目启动阶段,使用@PostConstruct或者ApplicationRunner执行加载逻辑
适用:缓存数据量不大,启动时加载
- 定时任务预热
// 每天凌晨1点执行 |
适用:数据会变化,需要周期性更新的业务
- 结合消息队列异步预热
适用:超大数据集,使用MQ触发异步任务,避免堵塞
- 外部脚本
使用python批量导数据。
写一个脚本调用redis的SET命令
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 花海!
