当前位置: 首页
科技数码
PostgreSQL 18进阶指南:用原生方案替代Redis构建无缓存架构

PostgreSQL 18进阶指南:用原生方案替代Redis构建无缓存架构

热心网友 时间:2025-12-01
转载

关于缓存,我的立场并非全盘否定。当你需要处理跨请求协调、速率限制,或是在不同服务间进行扇出扇入操作时,缓存或消息总线依然是可行的解决方案。我只是在那些因其掩盖优化器错误、增加查询波动性的场景中将其剔除。一个坦诚的分享:我曾尝试通过降低 synchronous_commit 参数来提升性能,但最终还是撤销了这项调整——对这条路径而言,写入语义层面的风险实在不值得冒险。

我在生产环境中停用了 Redis,并且从未回滚这一决定。”

每当想起这句话,我内心仍然会感到一阵紧张——毕竟缓存就如同系统的一条安全绳。但在 PostgreSQL 18 上经过大量谨慎测试后,p95 响应时间显著下降,系统架构更加简洁,值班团队的压力也随之减轻。

风险是真实存在的:用户会话、结算流程、我们的口碑信誉。

收益同样是真实的:更少的活跃组件、更少的告警短信。

下面我将分享自己的实践历程:我优化过的查询语句、关于唯一键的示意图,以及几个起到关键作用的小配置。

一、关闭缓存开关那一天

我们的热路径是一个参数化的产品查询,并附带一定的个性化特征。

缓存确实帮我们提高了命中率,但未命中的情况却相当棘手,而且序列化操作还额外增加了工作量。

我对这条路径进行了端到端的分析,随后尝试了一个更直接的数据库方案——使用更紧凑的索引和预先计算好的投影。

第一次运行结果令人心惊胆战……但随后数据逐渐稳定下来。

我让缓存停用了一个完整周期,见证了图表曲线最终趋于平静的过程。

二、Postgres里到底发生了什么

没有深奥的玄学,只有两件落地的事情:

1、覆盖度与选择性

覆盖索引配合生成列,让优化器能够只获取我们需要的字段,不再触及堆表。

2、预计算形态

物化视图(支持并发刷新)将原先依赖缓存隐藏的高昂聚合计算任务承接了过来。

PostgreSQL 18 凭借更智能的执行计划以及可预测的I/O完成了其余工作。

三、那个让Redis变得多余的查询

下面的表结构映射了一条常见的Feed流或目录切片场景:商品信息、软删除标识、新鲜度标记、个性化键值。

重点不在于字段名称,而是"生成列+覆盖索引"的组合完美匹配了返回结果。

应用程序调用随后变成了单次往返:

简而言之:规划器停留在索引层面,堆表保持"冷状态",视图从热路径中移除了沉重的聚合操作。

四、从源头削减延迟

两个小的配置调整起到了重要作用。它们并非万能药,但确实让I/O保持稳定,并使优化器能够可靠地利用索引和并行性。

如果你在更快的本地NVMe上运行,设置较低的random_page_cost能保持索引扫描的吸引力。track_io_timing则会在你对自身磁盘性能判断有误时给出提示。

五、我是如何测量的

我运行了一个简单的客户端,它发出了我们通常会缓存的那组参数。下表来自我的测试环境,经过3次预热运行,显示的是中位数数据。网络跳数和序列化开销比人们预期的要多得多。

在我们的信息流端点测试中,直接的数据库路径击败了缓存未命中情况下的尾部延迟,同时消除了命中与未命中之间的悬崖式差距。那个差距过去常常出现在用户追踪记录和支持工单中。

六、前后对比,用ASCII图绘制

一个说服团队的过程流程图:

我们仍然保留了只读副本以确保安全,但热路径现在只有一个依赖项。

七、何时缓存仍然占优

我并不是反对缓存。如果你需要跨请求协调、速率窗口,或者是跨服务的扇出扇入操作,缓存或消息总线仍然有其用武之地。我只是在它掩盖了优化器错误并增加了方法差异的地方将它移除了。一个诚实的承认:我曾尝试通过降低synchronous_commit来榨取更多性能,但后来撤销了,因为对于这条路径来说,写入语义的风险不值得去冒。

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

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

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

来源:https://www.51cto.com/article/827569.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
半导体芯片ETF有哪些热门选择值得关注

半导体芯片ETF有哪些热门选择值得关注

AI浪潮推动全球芯片板块走强,半导体芯片主题ETF表现亮眼,多只产品涨幅显著。A股市场现有12只半导体指数对应44只ETF,规模庞大,可分为材料设备、设计制造及全产业链三类。指数各具特色,覆盖不同市场、产业链环节与筛选标准,为投资者提供多样化选择。

时间:2026-05-23 17:29
极狐贝塔S3家用轿车评测 换电智能驾驶与舒适性全面解析

极狐贝塔S3家用轿车评测 换电智能驾驶与舒适性全面解析

极狐贝塔S3以5 98万元起售,定位中型纯电轿车。轴距2876mm带来宽敞后排空间,配备九层仿生座椅与全景天幕,舒适性突出。高配支持无图城市NOA智能驾驶,采用高强度车身与主动安全技术,以亲民价格整合空间、舒适与智能优势,重塑经济型家轿标准。

时间:2026-05-23 17:29
半导体ETF投资指南:一图看懂A股芯片主题基金

半导体ETF投资指南:一图看懂A股芯片主题基金

AI浪潮推动全球半导体板块走强,相关主题ETF净值与热度攀升。A股市场半导体主题ETF已形成庞大投资矩阵,总规模超2215亿元。相关指数可归为材料设备、设计制造及全产业链三类,各指数在成分股选取范围与产业链侧重上存在差异,为投资者提供了细分选择。

时间:2026-05-23 17:29
数字技术如何激活冷门绝学并焕发文化新活力

数字技术如何激活冷门绝学并焕发文化新活力

数字技术正为古文字学等“冷门绝学”注入新活力。通过毫米级数字还原、三维建模与微痕增强等技术,文化遗产得以高精度留存与复原。科技已成为研究、保护与传承的核心驱动力,推动这些古老学问在数字时代延续脉搏、焕发生机。

时间:2026-05-23 17:29
腾讯马维斯AI办公助手实测6大功能解放职场生产力

腾讯马维斯AI办公助手实测6大功能解放职场生产力

腾讯推出AI助手马维斯,由六个AIAgent组成,覆盖文件、搜索等办公任务。测试显示,其在定时推送、文档整理、竞品分析等基础场景中表现合格,能有效节省时间,但在文件操作、图像识别等复杂任务上稳定性不足,深度分析能力有限。产品依托腾讯生态实现多端互联,需提升体验以培养用户长期使用习惯。

时间:2026-05-23 17:29
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程