Workers KV
它是什么
Workers KV 是一个为读取而设计的全球键值存储。你写入一个值一次,Cloudflare 就会把它复制到整个网络,使任何地方的任何 Worker 都能以极低的延迟读取它。它是最终一致的:一次写入会在很短的时间窗口内在各处变得可见,这是换取快速与全球化所付出的代价。
优势
- 从边缘任何位置进行极快、低延迟的读取。
- 自动全球复制——无需管理区域(region)。
- 简单的 API:
get、put、delete、list,并可选 TTL。 - 对读密集型负载在规模上成本低廉;提供可用的免费额度。
- 直接绑定到 Workers 和 Pages Functions。
取舍
- 最终一致——不适合那些写入后必须立刻正确的数据。
- 与读取相比,写入更慢且受速率限制。
- 值大小有上限(约 25 MB);它不是像 R2 那样的大宗存储。
- 没有查询或关系——它严格地只是键到值。
何时使用
把 KV 用于配置、功能开关、缓存的 API 响应、路由表、会话查找,以及任何你能容忍出现几秒陈旧的读取为主的数据。
Vibe coding 契合度
对于给 Worker 添加缓存或配置的 agent 来说,KV 是一个轻松的胜利:一个绑定,然后 get/put。要明确指出它是最终一致的,这样 agent 才不会在需要写后读保证的地方选用 KV——那种情况应让它指向 D1 或 Durable Object。下面这段代码绑定了一个命名空间并写入了一个初始值。
# wrangler.toml
[[kv_namespaces]]
binding = "CONFIG"
id = "your-kv-namespace-id"
npx wrangler kv namespace create CONFIG
npx wrangler kv key put --binding=CONFIG "theme" "dark"