Redis缓存击穿,缓存穿透,缓存雪崩的解决方案

缓存击穿:缓存中没有,数据库中有

某一热点数据缓存过期的瞬间,大量请求同时透过缓存,访问到数据库。

  1. 可以使热点数据用不过期
  2. 互斥锁(使用key值加锁要优于对过程加锁)

 

缓存穿透:缓存中没有,数据库也没有

  1. 可以对缓存空对象
  2. 使用布隆过滤器,将数据库中一定不存在的对象过滤掉

 

缓存雪崩:在某一个时间段,缓存集中失效

  1. 解决方法是不同类型的对象设置不同的过期时间,也可以在过期时间中加入随机因子,尽量分散缓存过期的时间段。
posted @ 2020-03-05 22:15  有梦想的人不睡觉s  阅读(244)  评论(0编辑  收藏  举报