缓存预热
现象:
服务器启动后迅速宕机。
问题排查
- 请求数量较高
- 主从之间数据吞吐量较大,数据同步操作频度较高
解决方案
前置准备工作:
日常例行统计数据访问记录,统计访问频度较高的热点数据
如果热点数据量较大,利用LRU数据删除策略,构建数据留存队列(手工维护或storm+kafka等)
启动前准备工作:
将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据
利用分布式多服务器同时进行数据读取,提速数据加载过程
实施:
使用脚本程序固定触发数据预热过程
如果条件允许,使用CDN(内容分发网络)
总结
缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统,从而避免在用户请求的时候,先查询数据库,然后再将数据缓存到redis的问题。用户直接查询事先被预热的数据。
缓存雪崩
现象:
问题排除:
- 在一个较短的时间内,缓存中较多的key集