比喻:

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

1、缓存击穿理解

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

2、缓存穿透理解

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

3、缓存雪崩理解

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

4、自己画的图解
缓存击穿、缓存穿透和缓存雪崩个人理解

相关文章:

  • 2021-10-27
  • 2021-10-17
  • 2021-11-06
  • 2021-12-12
  • 2022-12-23
猜你喜欢
  • 2022-02-01
  • 2022-01-02
  • 2021-10-25
  • 2021-05-16
相关资源
相似解决方案