Cloudflare D1 API
Cloudflare D1 API
Cloudflare D1 是 Cloudflare 全球分布式 SQLite 数据库:在 Workers 内毫秒级访问、全球读副本、SQL 兼容、免费层慷慨。
Workers 内调用零网络延迟
只在 Cloudflare Workers 内最优(外部访问要走 HTTP API)
wrangler CLI: wrangler d1 create my-database。wrangler.toml 配置 D1 binding。在 Workers 里 env.DB.prepare("SELECT * FROM users").all()
可用率 · 30 天窗口
关于这个 API
D1 是 Cloudflare 2022 年推出的全球分布式 SQLite 数据库,是 Cloudflare 全栈平台 (Workers + R2 + KV + Durable Objects + D1 + Queues) 的关系型 DB 部分。设计核心:(1) 基于 SQLite (小、快、单 file);(2) 全球 read replica(写在 primary region,读分布到全球,应用 latency 跟着用户走);(3) 和 Cloudflare Workers 深度集成(Worker 内调 D1 没有 HTTP 跳)。和 Turso 比:D1 是 Cloudflare 专属(只 Workers 内最优),Turso 跨平台。和 Vercel Postgres (Neon-based) 比:D1 SQLite vs Vercel Postgres。免费 tier 慷慨 (100k reads + 50k writes/天),hobby / small SaaS 完全够用。Cloudflare 客户用 D1 配套 Workers 做"零 cold-start + 全球 < 50ms"的应用。
你可以做什么
- 1Cloudflare Workers 应用的 DB
- 2全球用户低延迟读取(每个 region 本地副本)
- 3小型 SaaS / blog / SaaS dashboard backend
- 4serverless 应用 SQL 数据存储
优劣对比
优点
- Workers 内调用零网络延迟
- 全球 read replica 自动
- 免费 tier 慷慨 (100k reads + 50k writes/天)
- 使用熟悉的 SQL (SQLite 兼容)
注意事项
- 只在 Cloudflare Workers 内最优(外部访问要走 HTTP API)
- SQLite 限制(不适合超高并发写)
- 单 DB 10GB 上限
示例请求
curl https://developers.cloudflare.com/d1/<endpoint> \
-H "Authorization: Bearer $API_KEY"
# Some providers use X-Api-Key instead — verify in the docs.快速开始
wrangler CLI: wrangler d1 create my-database。wrangler.toml 配置 D1 binding。在 Workers 里 env.DB.prepare("SELECT * FROM users").all()
常见问题
D1 vs Cloudflare KV?+
KV 是 simple key-value 缓存。D1 是真正 SQL 数据库(关系、JOIN、事务)。
能不在 Workers 内用 D1 吗?+
能通过 HTTP REST API 用,但 latency 比 Worker 内直接调高一个量级。
技术细节
- 认证方式
- api_key
- 计费
- freemium
- 速率限制
- 免费 100k reads + 50k writes/天
- 协议
- REST, SQL
- SDK
- javascript, typescript