Reids之缓存预热
1.问题
数据库启动后迅速宕机
2.问题排查
1.请求数量较高
2.主从之间数据吞吐量较大,数据同步操作频度较高
通俗解释 :即数据库启动后,缓存里面没有数据,数据库服启动的一瞬间请求又非常多,自然为服务器带来压力,于是就会宕机
3.缓存预热介绍
缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据!
4.解决方案
前置准备工作:
1.日常例行统计数据访问记录,统计访问频度较高的热点数据(手工方式)
2.利用LRU数据删除策略,构建数据留存队列,例如:storm与kafka配合(自动方式)
准备工作:
1.将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据
2.利用分布式多服务器同时进行数据读取,提速数据加载过程
3.热点数据主从同时预热
实施:
1.手工方式不太现实,可以使用脚本程序固定触发数据预热过程
2.如果条件允许,使用了CDN(内容分发网络),效果会更好