首页 > 中间件 > redis缓存雪崩、穿透

redis缓存雪崩、穿透

作者:bin

缓存穿透
问题:
访问一个redis中不存在的key导致请求直接落地DB,大量这样的请求落到DB,导致DB挂掉
解决方案:
1.将所有可能的key都存下来,不存在的key直接返回空
2.将从DB也未获取到到key,也存在redis中,值也为空,下次访问直接返回空


缓存雪崩
问题:
大量key不可用,瞬间请求全部都到了DB,例如key设置了缓存时间,同一个时间过期了。
解决方案:
1.过期时间随机设置,避免短时间大量同时过期
2.不设置过期时间,主动去删除不用到key


缓存击穿
一个key恰好在大量访问时过期,导致请求直接落到DB
解决方案:
使用SETNX来设置一个短期到null值,避免请求全落到db

您必须 [ 登录 ] 才能发表留言!