Workers KV
它是什麼
想像一本巨大的字典:你查一個詞(鍵),便立刻得到它的釋義(值)。Workers KV 就是這樣構建的、一個為讀取而設計的全球 KV(鍵值)儲存。你寫入一個值一次,Cloudflare 就會把它複製到整個網路,使任何地方的任何 Worker 都能以極低的延遲(幾乎無需等待)讀取它。它是最終一致的:一次寫入會在很短的時間視窗內在各處變得可見。這點短暫的延遲,正是換取快速與全球化所付出的代價。
優勢
- 從邊緣任何位置進行極快、低延遲的讀取。
- 自動全球複製——無需管理區域(region)。
- 簡單的 (應用程式程式設計介面——你呼叫的一小組命令):
get、put、delete、list,並可選 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"