【redis】缓存预热雪崩穿透击穿(上)
文章目录
- 【redis】缓存预热雪崩穿透击穿(上)
- 前言
- 一、面试题
- 二、缓存预热
- 三、缓存雪崩
- 发生原因
- 预防+解决
- 高可用:
- 多缓存结合:
- 人民币玩家
- 四、缓存穿透
- 是什么? 恶意攻击、查询不存在的key
- 解决:
- 方案一:空对象缓存或者缺省值
- 缺点:`只能作为短期的、救急的方案`
- 方案二:Google布隆过滤器Guava
- 案例:白名单过滤器
- 布隆过滤器说明:
- 五、缓存击穿
- 是什么?
- 危害
- 解决
- 案例
- 未优化代码,存在被缓存击穿的风险
- 1、service,在整个启动时自动启动定时器
- 2、controller,返回聚划算查询分页数据的接口
- 风险与解决思路
- `差异失效时间`
- 六、总结
前言
一、面试题
二、缓存预热
加注解
三、缓存雪崩
发生原因
预防+解决
高可用:
多缓存结合:
人民币玩家
四、缓存穿透
是什么? 恶意攻击、查询不存在的key
解决:
方案一:空对象缓存或者缺省值
缺点:只能作为短期的、救急的方案
方案二:Google布隆过滤器Guava
案例:白名单过滤器
源码
布隆过滤器说明:
五、缓存击穿
是什么?
危害
解决
案例
模仿聚划算的业务案例
未优化代码,存在被缓存击穿的风险
1、service,在整个启动时自动启动定时器
2、controller,返回聚划算查询分页数据的接口
风险与解决思路
风险1:service
风险2:controller
差异失效时间
改进后的service和controller