Redis缓存穿透和雪崩

缓存穿透

用户想要查询一个数据 在redis缓存数据库中没有获取到 就会向后端的数据库中查询。
当用户很多 都去访问后端数据库的话,这就会给数据库带来很大的压力。
常见场景:秒杀活动 等
解决方法:
1.布隆过滤器
2.缓存空对象

缓存击穿

缓存击穿 就是一个Key非常热。这个key在失效的瞬间 持续的大并发就会击穿缓存 直接请求数据库。
常见场景:微博热搜 等
解决办法:
1.设置热点数据永不过期
2.分布式锁

缓存雪崩

在某一个时间段 缓存集中过期失效,如过期时间到了 或者Redis服务器宕机
解决办法:
1.Redis高可用 搭建redis集群
2.数据预热,把可能的数据先预先访问一次 设置不同的过期时间等

原文地址:https://www.cnblogs.com/atwo/p/13862836.html