整理雅加达服务器缓存击穿导致数据库压力骤增的排查实战。
缓存击穿会瞬间压垮数据库。以下是实战。
一、确认现象 - 热点接口偶发变慢 - 数据库 QPS 突增 - 命中率短时下降
二、定位 1) 查看缓存命中率曲线 2) 分析热点 key 与过期时间 3) 查看数据库慢查询与连接数 4) 结合日志定位时间点
三、常见原因 1) 热点 key 过期瞬间并发回源 2) 缓存未做互斥重建 3) 缓存雪崩(大量同时过期) 4) 缓存穿透(查不存在数据)
四、处理 - 热点 key 逻辑过期或永不过期 - 加互斥锁控制重建 - 过期时间加随机抖动 - 空值缓存与布隆过滤器 - 多级缓存兜底
五、优化 1) 多级缓存 2) 预热热点数据 3) 限流保护数据库
六、预防 - 命中率与数据库 QPS 监控 - 大促前预热 - 击穿与雪崩预案
总结:缓存击穿要先看命中率与热点 key,靠互斥重建、随机过期与多级缓存解决。