~/VibeHandbook
免费 PDF

Cloudflare

developers.cloudflare.com

Workers KV

它是什么

想象一本巨大的字典:你查一个词(键),便立刻得到它的释义(值)。Workers KV 就是这样构建的、一个为读取而设计的全球 KV(键值)存储。你写入一个值一次,Cloudflare 就会把它复制到整个网络,使任何地方的任何 Worker 都能以极低的延迟(几乎无需等待)读取它。它是最终一致的:一次写入会在很短的时间窗口内在各处变得可见。这点短暂的延迟,正是换取快速与全球化所付出的代价。

优势

  • 从边缘任何位置进行极快、低延迟的读取。
  • 自动全球复制——无需管理区域(region)。
  • 简单的 (应用程序编程接口——你调用的一小组命令):getputdeletelist,并可选 TTL(Time To Live——一个值在自动过期前被保留的时长)。
  • 对读密集型负载在规模上成本低廉;提供可用的免费额度。
  • 直接绑定到 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"