以下是关于 Hyperdrive 最常见问题的解答。
Hyperdrive 使用 Cloudflare IP 地址范围 ↗ 连接数据库。这些范围由所有 Hyperdrive 配置和其他 Cloudflare 产品共享。
可在数据库防火墙中配置限制,仅允许特定 IP 地址访问数据库。
Hyperdrive 不支持 D1,因为 D1 设计上已为 Workers 提供快速连接。
Hyperdrive 旨在加速对传统区域 SQL 数据库(如 PostgreSQL)的访问。这些数据库通常通过 TCP/IP 通信的数据库驱动访问。 与 D1 不同,连接到传统 SQL 数据库的安全连接需要在客户端(Worker)与数据库服务器之间多次往返。 有关为何需要往返以及 Hyperdrive 如何解决,请参阅 Hyperdrive 工作原理。
D1 创建数据库连接不需要往返。D1 设计上默认为 Workers 提供高性能访问,无需 Hyperdrive。
是的,若 Worker 每次请求执行多次查询。Placement 使 Worker 靠近数据库运行,将每次查询延迟从 20-30ms 降至 1-3ms。Hyperdrive 处理连接池和建立。Placement 缩短查询执行的网络距离。
若数据库运行在 AWS、GCP 或 Azure,使用 placement.region。其他托管数据库使用 placement.host。
不会。应用写入数据库时,Hyperdrive 不会使已缓存的读查询结果失效。匹配的读操作可能返回缓存结果,直到配置的 max_age 过期,Hyperdrive 还可在 stale_while_revalidate 窗口内提供该结果并在后台刷新缓存。
对必须返回最新数据的读操作(如认证、会话、权限或写入后立即读),使用禁用缓存的 Hyperdrive 配置。请参阅查询缓存选择缓存策略。
可以。为同一数据库配置两个 Hyperdrive 绑定:一个启用查询缓存,用于可容忍短暂 stale 的读;一个禁用查询缓存,用于必须最新的读。禁用缓存的绑定仍提供 Hyperdrive 的连接池和快速连接建立。
若对象关系映射(ORM)库或认证库拥有 SQL,为每个绑定创建独立的数据库客户端,将禁用缓存的客户端传给需要最新读的代码。
不会。
Hyperdrive 是否在 Workers Free 套餐可用?
是的。请参阅定价。
Hyperdrive 本身不对计算(CPU)或处理(挂钟)时间收费。通过 Hyperdrive 查询并计算结果的 Workers(例如将结果序列化为 JSON 和/或发出查询)按 Workers 定价 计费。
请参阅已发布的限制文档。