一、适合使用缓存的地方
数据访问频率高的地方
数据读多写少的情况
数据对一致性要求不高的地方
二、使用缓存要考虑的指标
1、命中率
2、过期策略:
滑动过期,一段时间不访问过期,如果有效期内被访问了,重新刷新过期时间
绝对过期
三、缓存同步方案
1、同步方案
①实时更新,同步调用cache的增删改方法
②利用观察者模式/发布订阅/mq等方法进行同步更新
2、异步方案
①缓存设置过期时间,比如一小时
②缓存每天定时更新(不设置过期时间)
四、缓存雪崩解决方案
1、加锁、限流: ------对某个key只允许一个线程查询数据和写缓存
2、缓存预热 -----常用值,使用http接口预热错峰加载
3、改被动失效为主动失效 -----什么时候失效,我说了算
五、缓存穿透
使用布隆过滤器
第一步:先将查询参数key值存储到布隆过滤器
第二步:请求参数先经过布隆过滤器,如果没找到值,直接拦截不再去查询数据库