参考
KV、D1、R2 与 Durable Objects 选型
从数据形状、一致性、对象大小和协调需求选择 Cloudflare 存储,而不是先选产品名。
编辑与核验:橙宝书编辑团队 ·
DECISION GUIDE进阶20 分钟最后核验:2026-08-26
先回答四个问题
- 数据是键值、关系表、文件对象,还是需要一个协调者?
- 写入后必须立刻在全球读到吗?
- 一次读取通常拿一个小值、一组行,还是一个大对象?
- 并发请求是否必须由同一个有状态实例排序?
| 产品 | 适合 | 不适合当作 |
|---|---|---|
| Workers KV | 高读、低频更新、可接受最终一致性的配置与会话提示 | 全球强一致计数器 |
| D1 | 关系型数据、SQL 查询、索引与约束 | 大文件仓库或全局锁 |
| R2 | 图片、备份、模型文件等对象 | 低延迟关系查询 |
| Durable Objects | 每个对象的强一致状态与协调 | 随意替代所有数据库 |
已核验的服务事实
当前免费层事实快照(发布前复核)
Cloudflare 可能调整套餐与额度;实施前请重新打开官方来源。
| 产品 / 套餐 | 当前事实 | 口径与提醒 |
|---|---|---|
| Workers KVWorkers Free | KV 读取100,000 次读取 / 日 | 免费套餐每日额度,超过后同类操作会失败。 核验于 · 官方页更新 官方来源 |
| Workers KVWorkers Free | KV 存储1 GB / 账号 | 免费套餐账号级与单命名空间上限均为 1 GB。 核验于 · 官方页更新 官方来源 |
| D1Workers Free | D1 单数据库大小500 MB / 数据库 | 免费套餐每个数据库 500 MB,账号总存储 5 GB。 核验于 · 官方页更新 官方来源 |
| R2Standard free tier | R2 Standard 存储10 GB-month / 月 | 免费层只适用于 Standard,不适用于 Infrequent Access。 核验于 · 官方页更新 官方来源 |
组合通常比单选更合理
一个媒体应用可以把元数据存在 D1、原文件存在 R2、热门公共配置存在 KV;只有房间、文档或用户会话确实需要单点协调时才加入 Durable Object。每增加一种存储,也增加权限、迁移、备份和排障成本。
决策验证
- 写一条“不可接受的陈旧读取”场景;若存在,不要让 KV 承担真相源。
- 写出最大对象和查询方式;避免把二进制塞进关系表。
- 模拟两次并发写入;判断数据库约束或 Durable Object 是否必要。
- 打开对应 Pricing 与 Limits 页,用真实访问模型估算,不只看存储容量。
跨平台继续比较
内部存储类型确定后,再看外部平台边界:文件与公开分发进入 R2、S3、OSS、B2 对比,关系数据进入 D1、Supabase、Neon 对比。两页都从运行模型与总成本出发,不把免费额度当架构保证。
如果需求明确是跨多个应用实例共享的缓存、会话、限流、排行榜或 Stream,外部 Valkey 才进入候选;先读 Valkey 新手入门,再与 KV、Cache API 和 Durable Objects 的一致性、网络与运维成本逐项比较。六个专题站的完整入口见相关技术文档网络。
官方来源
这篇内容帮你完成目标了吗?
内测反馈只在当前浏览器生成,不会自动上传。