Redis是大型架构核心,下面我详解Redis缓存雪崩@mikechen
缓存雪崩
Redis 缓存雪崩(Cache Avalanche),是指在同一时间点或短时间内,大量缓存 key 同时失效(过期)。
导致海量请求瞬间全部穿透到后端数据库,造成数据库瞬间压力暴增、甚至宕机的情况。

这是 Redis 高并发系统中最严重的缓存故障之一,常出现在以下场景:
大促活动、秒杀、热点事件开始前统一预热缓存。
缓存雪崩的典型表现,Redis 命中率瞬间跌到接近 0。
数据库 CPU/连接数/慢查询暴增;
响应时间飙升,甚至出现大量 500 错误;
最严重时 → 数据库宕机 → 服务雪崩 → 全站不可用。
如何解决雪崩?
首先,在缓存设计层面应采用合理的失效策略与冗余机制。
一是对缓存过期时间进行离散化或加上随机扰动,避免大量键在同一时刻集中失效。
二是对关键数据,采用永不过期并通过定时任务或主动刷新机制进行更新。
必要时,使用双缓存策略(读旧写新)以平滑切换。
三是,对热点数据做多级缓存设计。
将缓存分布在本地(应用内)与集中式Redis之间,减轻集中缓存压力。

然后,在请求与后端保护方面应实现降级、与限流策略。
通过熔断器、限流器或请求队列来控制并发写入后端的速率。
对非关键请求或可容忍的场景实施服务降级,返回降级数据或默认值。
再次,在缓存集群与高可用方面要做好冗余与监控。
部署Redis主从复制、哨兵或Cluster集群以保证节点故障时的可用性。
对内存、连接数与延迟等指标实施实时监控并设置告警,提前扩容或切换。
在流量高峰前通过预热缓存或批量加载关键数据来降低突发压力。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》