redis-faina

Redis 企业级解决方案(缓存预热、缓存雪崩、缓存击穿、缓存穿透、性能指标监控)

戏子无情 提交于 2020-08-12 00:53:31
目录 一、缓存预热 二、缓存雪崩 三、缓存击穿 四、缓存穿透 五、性能指标监控 一、缓存预热 缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓 存的问题!用户直接查询事先被预热的缓存数据! 宕机 :服务器启动后迅速宕机 问题排查: 1. 请求数量较高 2. 主从之间数据吞吐量较大,数据同步操作频度较高 解决方案: 前置准备工作: 1. 日常例行统计数据访问记录,统计访问频度较高的热点数据 2. 利用LRU数据删除策略,构建数据留存队列 例如:storm与kafka配合 准备工作: 1. 将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据 2. 利用分布式多服务器同时进行数据读取,提速数据加载过程 3. 热点数据主从同时预热 实施: 1. 使用脚本程序固定触发数据预热过程 2. 如果条件允许,使用了CDN(内容分发网络),效果会更好 二、缓存雪崩 缓存雪崩就是瞬间过期数据量太大,导致对数据库服务器造成压力。如能够有效避免过期时间集中,可以有效解决雪崩现象的出现 (约40%),配合其他策略一起使用,并监控服务器的运行数据,根据运行记录做快速调整。 现象:数据库服务器崩溃(1) 1. 系统平稳运行过程中,忽然数据库连接量激增 2. 应用服务器无法及时处理请求 3. 大量408,500错误页面出现 4.