- 缓存穿透、缓存击穿、缓存雪崩
问题 原因 解决 缓存穿透 大量访问一个 缓存
和数据库
都不存在的 key,造成数据库压力瞬时增大,甚至导致数据库宕机1、拦截不符合规范的 key
2、缓存空值,设置较短过期时间
3、布隆过滤器,存储所有可能访问的 key,不存在的 key 直接被过滤缓存击穿 某 一个
热点 key,缓存过期瞬间
,同时收到大量
的请求,由于此时缓存过期了,所以请求最终都会走到数据库,造成数据库压力瞬时增大,甚至导致数据库宕机1、热点数据永久不过期,使用定时任务更新数据
2、加互斥锁缓存雪崩 大量的热点 key 设置了 相同
的过期时间,导致缓存在同一时刻全部失效,造成数据库请求瞬时增大、压力骤增,引起雪崩,甚至导致数据库宕机
缓存雪崩其实有点像“升级版的缓存击穿”,缓存击穿是一个热点 key,缓存雪崩是一组热点 key1、设置不同过期时间
2、热点数据永久不过期,使用定时任务更新数据
3、加互斥锁
redis 问题
于 2022-04-08 17:25:17 首次发布