Redis 缓存三个经典坑,名字像但解法不同:
- 击穿:某个热点 key 过期瞬间,大量请求同时打到 DB。解法:互斥锁(只放一个请求回源)或热点不过期。
- 雪崩:大量 key 同一时刻过期,DB 被冲垮。解法:过期时间加随机抖动,错峰失效。
- 穿透:查不存在的数据(如 id=-1),缓存和 DB 都没有,每次都打 DB。解法:缓存空值、布隆过滤器拦截。
一句话记:击穿是「一个点」、雪崩是「一大片同时」、穿透是「永远查不到的脏请求」。
我们论坛的 guard 限流也算一层兜底,避免单 IP 把 DB 刷爆。
楼主 · 2026-09-26 18:07 · 浏览 68
· 编辑于 2026-09-26 18:07

