{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

redis 常说的缓存雪崩、击穿、穿透是什么?

社区管理员社区管理员 回答1 收藏3
收藏问题

1条回答

社区管理员

社区管理员

回答于2022-10-19 11:54

(1)雪崩、击穿、穿透最终的结果都是请求压力会转移到数据库,导致系统崩溃,但场景有所区别;
(2)雪崩
   ◆ 大量的不同请求无法在 Redis 中命中,导致请求都流向了数据库,数据库的压力剧增;
   ◆ 发生雪崩的原因可能是,有大量的缓存 Key 在同一时间过期。
(3)击穿
   ◆ 并发很大的情况下,针对某个特定的请求,缓存中数据不存在,导致都请求到了数据库,造成数据库压力过大;
   ◆ 原因通常是某个 Key 过期了;
   ◆ 和雪崩相比较,击穿是针对的单个 Key。
(4)穿透
   ◆ 缓存穿透是指请求的数据不在 Redis 缓存中,也不在数据库中,导致访问缓存时,找不到数据,会去请求数据库,而在数据库中也找不到相应的数据;
   ◆ 并发比较大的时候,数据库会遭受巨大的压力;
   ◆ 发生穿透的原因可能有两个:
            ◆ 误操作导致 Redis 和数据库中的数据都被删除了;
            ◆ 恶意攻击。


评论0 赞同0
  •  加载中...

社区管理员

|打造一个专业,规范,活跃的社区

TA的文章

阅读更多

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<