Skip to content
返回云服务

Cloudflare Hyperdrive 数据库连接池

Workers 到 Postgres/MySQL 的连接池和查询缓存 — 跨隔离体重用连接。

Cloudflare进阶

为什么

Workers 无法保持 DB 连接(每请求新隔离体)。Hyperdrive 在边缘池化连接、缓存查询结果、降低连接开销 10 倍。免费,适配任何 Postgres。

何时使用

Workers 查询 Postgres/MySQL 时用 Hyperdrive — 消除连接耗尽并加查询缓存。避免 D1(原生边缘)或单查询应用(开销)。

如何做

1. 创建 — wrangler hyperdrive create my-pool --connection-string="postgres://..." 2. 绑定 — [[hyperdrive]] binding="HYPER" id="..." 3. 连接 — const client = new Client({ connection: env.HYPER.connectionString }) 4. 查询 — 普通 pg 客户端,Hyperdrive 透明池化 + 缓存 5. 缓存 — Hyperdrive 缓存 SELECT 结果,通过 max_age 配置失效 6. 只读副本 — Hyperdrive 指向只读副本用于读多负载 7. 本地开发 — wrangler dev 自动用本地连接串

示例

// wrangler.toml [[hyperdrive]] binding = "HYPER" id = "abc123..." // src/index.ts — Worker 通过 Hyperdrive 连 Postgres import { Client } from "pg"; export default { async fetch(request: Request, env: Env): Promise<Response> { const client = new Client({ connection: env.HYPER.connectionString }); await client.connect(); const { rows } = await client.query("SELECT * FROM users WHERE active = $1", [true]); await client.end(); return Response.json(rows); }, };

常见问题

  • ⚠写绕过缓存 — Hyperdrive 仅缓存 SELECT,INSERT/UPDATE 不缓存
  • ⚠源 DB 连接限制 — Hyperdrive 池化但源仍有最大连接
  • ⚠需 SSL — Hyperdrive 强制 TLS,自签证书需 ca 配置

最佳实践

  • ✓指向只读副本 — Hyperdrive + 副本 = 边缘缓存读,主库写
  • ✓设查询缓存 max_age — 60 秒缓存大幅降低读多 API 的 DB 负载
  • ✓用预处理语句 — Hyperdrive 缓存它们,重复查询更快

常见问题解答

什么是Cloudflare Hyperdrive 数据库连接池?它解决什么问题?

Workers 到 Postgres/MySQL 的连接池和查询缓存 — 跨隔离体重用连接。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手Cloudflare Hyperdrive 数据库连接池?

两步即可跑通:① 创建 — wrangler hyperdrive create my-pool --connection-string="postgres://...";② 绑定 — [[hyperdrive]] binding="HYPER" id="..."。建议先用免费套餐验证流程,再接入生产环境。

Cloudflare Hyperdrive 数据库连接池 最容易踩的坑是什么?

最高频的问题是:写绕过缓存 — Hyperdrive 仅缓存 SELECT,INSERT/UPDATE 不缓存。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

Cloudflare Hyperdrive 数据库连接池 的最佳实践有哪些?

Cloudflare Hyperdrive 数据库连接池 的最佳实践包括:指向只读副本 — Hyperdrive + 副本 = 边缘缓存读,主库写;设查询缓存 max_age — 60 秒缓存大幅降低读多 API 的 DB 负载;用预处理语句 — Hyperdrive 缓存它们,重复查询更快。其中首条「指向只读副本 — Hyperdrive + 副本 = 边缘缓存读,主库写」应作为团队默认规范写入 IaC 模板。

Cloudflare Hyperdrive 数据库连接池 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Cloudflare Hyperdrive 数据库连接池 多数提供免费套餐,先在免费额度内验证再放量。