橙宝书
常见问题

FAQ:数据库与存储

回答 D1、R2、KV、Durable Objects、文件上传、恢复和外部数据库选择。

编辑与核验:橙宝书编辑团队 ·

FAQ数据与存储7 个问题核验:2026-08-27

D1、R2、KV 和 Durable Objects 怎么选?

按数据模型选:关系型业务数据用 D1;图片、PDF 和其他对象用 R2;高读、允许最终一致的键值配置或缓存用 KV;需要强一致协调、房间或实体状态用 Durable Objects。一个应用组合多个产品很正常,先看存储选择器

可以把图片或 PDF 直接存进 D1 吗?

不建议把大文件正文塞进关系数据库。D1 保存对象 key、租户、状态和元数据,R2 保存二进制对象;这样查询、迁移、生命周期和下载路径更清晰。

D1 单个数据库能无限扩容吗?

不能。2026-08-27 官方限制为 Free 单库 500 MB、Paid 单库 10 GB,单个数据库按顺序处理查询。容量或并发接近边界前按租户/实体分片、缩短查询并建立迁移方案,不要等满库后再设计。

KV 适合保存登录 Session 或实时余额吗?

只有业务能接受最终一致时才合适。刚写入的值在其他位置可能暂时仍是旧值;权限撤销、一次性 token、余额和并发锁通常需要更强一致的权威数据源。

R2 bucket 创建后会自动公开吗?

不会。公开访问需要明确启用开发 URL 或配置自定义域名;私有对象应由应用鉴权后签发短时访问。生产交付见R2 公开与私有交付配方

大文件上传应该全部经过 Worker 内存吗?

通常不应。服务端先校验用户、租户、文件类型和额度,再签发短时预签名 PUT,让客户端直传 R2;Worker 只保存元数据。必须代理时使用流式请求,避免把整个文件读入 128 MB isolate 内存。

D1 Time Travel 等于完整备份吗?

不是。Time Travel 提供限定窗口内的点时间恢复,但恢复会原地覆盖数据库,不能代替导出、迁移演练、权限隔离和业务级恢复验证。操作边界见D1 迁移与恢复

已有 Supabase、Neon、Turso 或 TiDB,还必须迁到 D1 吗?

不必。根据 SQL 兼容、事务、连接方式、地域、运维和迁移成本选择;Workers 可通过 HTTP、驱动或 Hyperdrive 接入外部数据库。先读外部数据库接入总览,不要为了“全家桶”重写稳定的数据层。

官方来源

这篇内容帮你完成目标了吗?

内测反馈只在当前浏览器生成,不会自动上传。

本页目录