对于redis,缓存,穿透,击穿,总结

博客主要介绍Redis缓存的穿透、雪崩、击穿问题。穿透指key在缓存层和存储层都不命中;雪崩是缓存层不可用或大量缓存同时失效,使存储层压力过大;击穿是缓存失效瞬间大量线程重建缓存致后端负载加大。还给出了各问题的解决办法。

redis缓存

穿透

对于一个key,在缓存层和存储层都不会命中

  • 解决1:set(key,null)
  • 解决2:布隆过滤器

雪崩

由于缓存层承载着大量请求,有效地保护了存储层,但是如果缓存层由于某些原因不可用(宕机)或者大量缓存由于超时时间相同在同一时间段失效(大批key失效/热点数据失效),大量请求直接到达存储层,存储层压力过大导致系统雪崩。

  • 解决1:采用集群方式
  • 解决2:采用多级缓存
  • 解决3:设置随机过期时间,尽量减少同时失效

击穿

在缓存失效的瞬间,有大量线程来重建缓存,造成后端负载加大,甚至可能会让应用崩溃。

  • 解决1:分布式互斥锁
  • 解决2:设置“永不过期”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小噻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值