缓存雪崩
缓存雪崩通常指两个场景:
1.大量缓存key同时过期,导致缓存命中率降低,所有请求涌向后端数据库,造成压力骤增并肯导致系统崩溃.
TTL 随机化(Staggered Expiration / Jitter)
在基础过期时间上添加随机值,比如原 TTL 加减一定比例的随机时间(如 ±15%),以避免大量 key 同时失效
多级缓存架构(Local + Distributed)
例如本地缓存(Caffeine/Ehcache)结合分布式缓存(Redis),减少对数据库的压力,并提高命中率与响应性能。
监控与告警
实时监控缓存命中率、Redis 状态、数据库负载等,及时告警与触发保护策略。
2.缓存失效或者Redis宕机 导致所有请求直接打数据库,同样引发系统崩溃
容错机制:持久化恢复
Redis 支持 RDB/AOF 机制,宕机后可快速恢复缓存数据,减少对数据库的冲击。
高可用缓存架构
Redis 采用主从、哨兵、Cluster 等高可用部署,避免 Redis 宕机导致缓存层整体失效。