redis面试问题
- 问题一:缓存预热
- 问题二:缓存雪崩
- 问题三:缓存击穿
- 问题四:缓存穿透
- 问题五:性能指标监控
问题一:缓存预热
解决的问题:服务器重启或者刚上线,缓存中没有数据,数据同步、加载等业务量大,服务请求很难得到响应。
总体解决方案:系统启动前,提前将相关的缓存数据加载到缓存系统。避免再用户请求时候先查询数据库,然后再将数据缓存,用户可直接查询事先被预热的缓存数据!
问题二:缓存雪崩
问题三:缓存击穿
问题**:缓存击穿就是单个高热数据过期的瞬间,数据访问量较大,未命中redis后,发起了大量对同一数据的数据库访问,导致对数据库服务器造成压力。
**总体解决方案:**应对策略应该在业务数据分析与预防方面进行,配合运行监控测试与即时调整策略,毕竟单个key的过期监控难度较高,配合雪崩处理策略即可。
现象:
问题四:缓存穿透
问题:缓存击穿访问了不存在的数据,跳过了合法数据的redis存缓阶段,每次访问数据库,导致对数据库服务器造成压力。通常此类数据量较大。
总体解决方案:当出现此类情况以毒攻毒,并及时报警。应对测了我应该在临时预案防范方面下功夫。
问题五:性能指标监控
附上B站赵老师的视频链接:https://www.bilibili.com/video/BV1CJ411m7Gc?t=22&p=111
完结撒花!!!