缓存预热+缓存穿透+缓存雪崩+

缓存预热

  1. 让一些合法的数据需要提前入驻进redis
  2. 什么都不做,在升级窗口由自己人提前同步redis。
  3. 通过中间件初始化缓存。

缓存雪崩

  1. redis主机宕机,redis全盘崩溃
    可以将redis集群配置成高可用,使用主从+哨兵 或者 集群
  2. redis中大量key同时大面积失效
    redis中key设置为永不过期,或者过期时间错开
    多缓存结合预防雪崩

缓存穿透

1.请求查询一条记录,redis中没有,数据库也没有,但是请求每次都会打到数据库,导致数据库压力增大,这种现象被称为缓存穿透
2. 第一种解决方案 回写增强
如果发生了缓存穿透,可以针对要查询的数据在Redis中设置默认值,缓存和数据库中都不存在的值,可以将这个key记录到redis中成为黑名单
3. 使用布隆过滤器,guava 谷歌开源布隆过滤器

缓存击穿

  1. 大量的请求正好同时请求一个key,此时这个key失效了,就会导致大量的请求打到数据库上,简单来说就是热点key突然失效了。
  2. 失效原因,时间到了自然清除,刚刚delete掉
  3. 解决方案1 不设置过期时间
  4. 解决方案2 互斥更新,双检加锁
  5. 对于热点数据开启AB两套缓存,查询先查询A 查不到查询B 更新先更新B 更新B完成后更新A
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值