缓存击穿、缓存穿透和缓存雪崩个人理解

比喻:

  • 数据库:工厂
  • 缓存:商店
  • 请求:用户买东西

1、缓存击穿理解

  • 定义:缓存中存在查询的key,但是过期了,请求转发到数据库。
  • 个人理解:用户去商店买鞋,商店内鞋已售罄(没有及时补货),用户直接去工厂买鞋。
  • 解决办法:(1)定时任务更新缓存数据;(2)设置多级缓存机制;(3)分布式缓存(这个太难,我也理解不了)。

2、缓存穿透理解

  • 定义:缓存中不存在查询的key,请求转发到数据库。
  • 个人理解:用户去商店买原子弹,商店不卖原子弹,用户直接去工厂买原子弹(虽然买不到)。
  • 解决办法:第一次请求,缓存查询不到,就去数据库查询,查询出来的数据(null),也要存到缓存中,并设置较短的过期时间,当下一次再次请求的时候,就可以从缓存中获取。

3、缓存雪崩理解

  • 定义:承载大并发(热点)访问的key,在同一时间段内集中过期,请求转发到数据库,导致数据库压力过大,挂掉了。
  • 个人理解:全球70亿人都去京东买商品(姑且认为京东的商品不够卖),第一天商品瞬间全部售罄,第二天,人们继续购买的话(假如商品供货不足),商品已经售罄,京东再也提供不了人们的商品需求,人们就会直接去工厂购买,工厂也承受不了这么多人(不能及时造出这么多商品),工厂就会压力过大,关门了。
  • 解决办法:给热点key分别设置不同的过期时间,保证不在同一时间段内,全部过期。

4、自己画的图解
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值