告别Redis!如何在PostgreSQL 18实现无缓存架构的平滑落地?

Atomic Architect 2025-10-20 18:19:00
“我在生产环境关掉了 Redis,而且没有回滚。”

 

 

 

 

 

 

 

 

八、我保留的可直接复用的更改

这些是实验结束后保留的两个应用层面的部分。

 

 
1、应用查询形态(SQL 预处理语句),而非 ORM 猜测

 

参数顺序稳定的预处理语句使得执行计划稳定且解析快速。它们也明确了需要索引什么。前面的代码块展示了 fetch_slice 和 fetch_trending;那就是实际部署的代码。

 

 
2、适度、常规的刷新节奏

 

刷新 mv_trending 的作业每隔几分钟运行一次,使用 CONCURRENTLY 以保持读取端的顺畅。没有复杂的 cron 技巧,没有失效风暴。

 

九、这对你的团队意味着什么

如果你的缓存只是为了掩盖源站慢读,请先尝试修好源站。

 

把查询盖全,只预计算真正昂贵的部分。

 

度量 p95,别看平均。

 

如果直接走数据库能打败缓存未命中的长尾,还能减少运维痛苦,就让更简单的架构赢。

 

作者丨The Atomic Architect    编译丨Rio

来源丨网址:https://medium.com/@the_atomic_architect/postgresql-18-killed-my-cache-layer-and-i-am-not-bringing-it-back-764496b2a9a5

 

 

*本文为dbaplus社群编译整理,如需转载请取得授权并标明出处!dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn

最新评论
访客 2024年04月08日

如果字段的最大可能长度超过255字节,那么长度值可能…

访客 2024年03月04日

只能说作者太用心了,优秀

访客 2024年02月23日

感谢详解

访客 2024年02月20日

一般干个7-8年(即30岁左右),能做到年入40w-50w;有…

访客 2023年08月20日

230721

活动预告