为什么我们最后还是把缓存换回了本地

← 返回首页

为什么我们最后还是把缓存换回了本地

2026 年 10 月 12 日 · 后端

去年我们把服务里的本地缓存全部换成了 Redis 集群,理由是「多实例之间要一致」。一年之后,我们又把它换了回来。

原因不复杂:绝大部分缓存其实不需要跨实例一致,但所有人都要为此付出网络往返的延迟。命中率从 98% 掉到 91% 的那段时间,我们花了两个星期排查,最后发现是某个实例的网络抖动导致批量超时。

换回进程内缓存之后,P99 直接降了 40ms。真正的跨实例一致性问题,我们用一张小表加版本号解决了。