REDIS缓存雪崩、缓存穿透、缓存击穿

缓存雪崩
同一时刻有大量key失效,导致大量请求到数据库
解决方案1:key失效时间加上随机值,或者更高级的算法分散失效时间。
解决方案2:没有数据时也cache下,过期时间可设置短点,不把过多请求打到db去

缓存穿透
当查询Redis中没有的数据时,该查询会下沉到数据库层,同时数据库层也没有该数据,当这种情况大量出现或被恶意攻击时,接口的访问全部透过Redis访问数据库,而数据库也没有这些数据,我们称这种现象为缓存穿透
解决方案1:请求用户做鉴权校验,参数校验,非法直接返回。
解决方案2:使用布隆过滤器

缓存击穿
缓存击穿是指一个key非常热点,在不停的抗着大并发,大并发集中对这一点进行访问,当这个key失效的瞬间,持续的大并发就穿透缓存,直接请求数据库。
解决方案1:设置热点key永不过期,异步更新
解决方案2:更新热点key时加锁,同一个key最好只有一个请求到数据库
解决方案3:接口限流、熔断、降级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值