[ PROMPT_NODE_24120 ]
Hyperdrive 配置说明
[ SKILL_DOCUMENTATION ]
# 配置
查看 [README.md](./README.md) 获取概览。
## 创建配置
**PostgreSQL:**
bash
# 基础
npx wrangler hyperdrive create my-db
--connection-string="postgres://user:pass@host:5432/db"
# 自定义缓存
npx wrangler hyperdrive create my-db
--connection-string="postgres://..."
--max-age=120 --swr=30
# 无缓存
npx wrangler hyperdrive create my-db
--connection-string="postgres://..."
--caching-disabled=true
**MySQL:**
bash
npx wrangler hyperdrive create my-db
--connection-string="mysql://user:pass@host:3306/db"
## wrangler.jsonc
c
{
"compatibility_date": "2025-01-01", // 新项目使用最新日期
"compatibility_flags": ["nodejs_compat"],
"hyperdrive": [
{
"binding": "HYPERDRIVE",
"id": "",
"localConnectionString": "postgres://user:pass@localhost:5432/dev"
}
]
}
**生成 TypeScript 类型:** 运行 `npx wrangler types` 从 wrangler.jsonc 自动生成 `worker-configuration.d.ts`。
**多配置:**
c
{
"hyperdrive": [
{"binding": "HYPERDRIVE_CACHED", "id": ""},
{"binding": "HYPERDRIVE_NO_CACHE", "id": ""}
]
}
## 管理
bash
npx wrangler hyperdrive list
npx wrangler hyperdrive get
npx wrangler hyperdrive update --max-age=180
npx wrangler hyperdrive delete
## 配置选项
Hyperdrive 创建/更新 CLI 标志:
| 选项 | 默认值 | 备注 |
|--------|---------|-------|
| `--caching-disabled` | `false` | 禁用缓存 |
| `--max-age` | `60` | 缓存 TTL (最大 3600s) |
| `--swr` | `15` | Stale-while-revalidate |
| `--origin-connection-limit` | 20/100 | 免费/付费 |
| `--access-client-id` | - | Tunnel 认证 |
| `--access-client-secret` | - | Tunnel 认证 |
| `--sslmode` | `require` | 仅限 PostgreSQL |
## 智能放置 (Smart Placement) 集成
对于每个请求执行 **多次查询** 的 Workers,启用智能放置以在数据库附近执行:
c
{
"compatibility_date": "2025-01-01",
"compatibility_flags": ["nodejs_compat"],
"placement": {
"mode": "smart"
},
"hyperdrive": [
{
"binding": "HYPERDRIVE",
"id": ""
}
]
}
**优势:** 多查询 Workers 在靠近数据库的地方运行,减少往返延迟。示例参考 [patterns.md](./patterns.md)。
## 通过 Tunnel 连接私有数据库
Worker → Hyperdrive → Access → Tunnel → 私有网络 → DB
**设置:**
bash
# 1. 创建隧道
cloudflared tunnel create my-db-tunnel
# 2. 配置