数据 / 存储
D1
Cloudflare 的 serverless SQL 数据库,适合轻量关系型数据。
适合场景
用户资料、订单、内容、后台管理、原型产品
Wrangler 配置
{
"d1_databases": [
{
"binding": "DB",
"database_name": "app",
"database_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]
} Worker 代码
const { results } = await env.DB
.prepare("SELECT * FROM users WHERE id = ?")
.bind(userId)
.all();
// 批量
await env.DB.batch([
env.DB.prepare("INSERT INTO logs (msg) VALUES (?)").bind("hi"),
env.DB.prepare("UPDATE counters SET n = n + 1 WHERE id = 1"),
]); 实现注意事项
- ● 底层是 SQLite;不是分布式 SQL,写入有单点
- ● 单库容量有限(看最新文档);不适合超大事实表
- ● 跨请求事务不可用;用 batch 做原子操作
已复制