oniji上周五晚高峰,商品详情页 QPS 涨了 3 倍,Redis 里一个热 key 突然过期,海量请求直接怼到 MySQL,连接池瞬间打满,接口大面积超时——教科书级的缓存击穿。
当时的现象很迷惑:服务器 CPU 不高、带宽正常,就是接口慢,查了半天才发现是缓存 miss 之后所有请求都在穿透查库。
事后复盘三个改进:
1. 热 key 不过期,改为异步刷新(数据更新时主动 set)
2. 加互斥锁,同一个 key 只放一个请求去查库回填,其它的排队等
3. 上了监控缓存 miss 率,超过阈值直接告警
这波要不是同事反应快降级了页面,就是 P0 事故了。兄弟们的热 key 都是怎么处理的?评论区交流下
SEO优化很重要,希望有更多相关讨论。
源码求购,有没有合适的?
这个建站问答板块真不错,问题都解答得很好。
请问有源码分享吗?我想学习一下。
这个技术交流帖子很有用,学到了很多!