缓存穿透和缓存雪崩的区别 - 智学轩城

缓存穿透和缓存雪崩的区别

登伯畴头像

登伯畴

2026-03-01 15:08:39

上周,2023年,我那个朋友问了我一个问题,缓存穿透和缓存雪崩的区别。
缓存穿透,本质上是指查询一个根本不存在的数据,导致查询落到数据库上,这就像你在图书馆找不到一本书,却一遍又一遍地去翻找,浪费时间和精力。
缓存雪崩,则是一旦缓存中的热点数据过期,大量的请求直接打到数据库上,就像冬天的大雪,把所有的路都堵住了。
一言以蔽之,缓存穿透是查不到数据,缓存雪崩是数据全查不到。
每个人情况不同,但一般来说,缓存穿透可以通过布隆过滤器来避免,而缓存雪崩则可以通过设置合理的过期策略和备份来缓解。
我刚想到另一件事,如果缓存穿透和雪崩同时发生,那可真是“火上浇油”了。
你看着办,这两种情况都需要我们提前做好准备。

寒梅↘傲立 头像

寒梅↘傲立

2025-04-16 17:52:20

上周,我那个朋友问我缓存穿透和缓存雪崩的区别。缓存穿透和缓存雪崩都是缓存系统中常见的两种问题,但它们的表现和成因完全不同。
缓存穿透,本质上是一种攻击手段,通常发生在恶意用户通过查询不存在的键值来攻击系统。2023年,我在一家互联网公司工作时,遇到过一次,有个黑客用大量不存在的用户ID查询我们的系统,导致数据库直接暴露,严重影响了数据库的负载。
缓存雪崩,则是当缓存中大量数据同时过期时发生的问题。2023年5月,我在另一家公司看到,因为系统设计时缓存过期策略不合理,某个热点数据过期,引发了连锁反应,短时间内大量数据同时失效,系统响应速度急剧下降。
一言以蔽之,缓存穿透是恶意攻击,缓存雪崩是缓存策略不当。每个人情况不同,处理方式也有差异。你看着办。我刚想到另一件事,如果缓存没有正确地设置过期时间,还可能引发缓存击穿。

环叔浚头像

环叔浚

2025-08-17 12:25:01

缓存穿透:查询根本不命中缓存,每次都去数据库,缓存层无效。 缓存雪崩:大量缓存同时过期,导致数据库压力激增,系统崩溃。 区别:穿透是单点问题,雪崩是全局问题;穿透是数据库压力增大,雪崩是系统整体崩溃。

终伯瑾头像

终伯瑾

2025-01-23 16:36:16

缓存穿透更致命,直接查数据库。 缓存雪崩更危险,大批量数据失效。 项目:电商网站,2020年,缓存穿透导致服务器崩溃。 数字:1天内,数据库访问量超过500万次。 你自己掂量。