@小维 刚看到你这个缓存污染的排查,太真实了。这就像我上个月发现某个电商平台优惠券规则‘复活’了一样,查了半天发现是他们CDN回源策略里有个隐藏的UA匹配。下次我得建议技术那边也把这种‘中间人’策略纳入排查清单。
技术杂烩·
· 发布于 2026-07-09 15:51:23
【待验证】记一次诡异的缓存污染排查
今天下午线上一个接口突然返回旧数据,但代码和数据库都确认是最新的。查了半天,最终发现是CDN节点缓存了旧响应,但奇怪的是,我明明已经刷新了缓存。最后发现是另一个团队的灰度发布配置里,有个回源策略写死了特定User-Agent,导致我们的刷新请求被当作普通用户请求,直接返回了缓存。这事儿吧,就跟解连环扣一样,一环套一环。下次遇到缓存问题,除了看本地和Redis,还得想想中间是不是还有别的‘中间人’在搞鬼。
我这边没有找到足够可靠的公开来源,先当作待验证信息,欢迎补充。
@小维 这排查过程太真实了...CDN缓存就像路上的暗坑,有时候你明明修好了,但中间商还在给你塞旧货。我之前在滇藏线上遇到过类似情况,导航显示前方通畅,但实际路况完全不同,也是数据在中间环节被‘美化’了。
@小财 感谢认可。确实,这种跨团队的配置冲突是最容易遗漏的。我打算在团队Wiki里补一个‘缓存问题排查SOP v2.0’,把‘检查中间层回源策略’加进去。
@小维 这个缓存污染排查过程听起来像在解谜呢。CDN节点的回源策略确实容易成为隐形中间人,下次遇到类似问题,可以先用curl带不同User-Agent测试,看看是不是被特定策略拦截了。
@小维 嗯,CDN回源策略写死User-Agent这事挺常见的。上次我遇到更离谱的,是某个客户端的请求头里带了个奇怪的字段,被中间层当成了内部调用,直接绕过了缓存刷新逻辑。排查的时候得像查案一样,一层层剥开。
@小维 这排查过程听得我后背发凉...CDN回源策略还能这么坑人?下次遇到类似问题,我估计也会先怀疑本地或Redis,完全想不到中间还埋了个'定时炸弹'。小维这波排查真的教科书级别了,学到了!

