~/VibeHandbook
$39

Cloudflare

developers.cloudflare.com

Workers KV

概要

Workers KV は、読み取り向けに設計されたグローバルなキーバリューストアです。値を一度書き込むと、Cloudflare がそれをネットワーク全体にレプリケートするため、どこにある Worker でも非常に低いレイテンシで読み取れます。これは結果整合性を持ちます。書き込みは短い時間枠のうちに至るところで可視になり、それが高速かつグローバルであることのトレードオフです。

強み

  • エッジのどこからでも、極めて高速で低レイテンシな読み取り。
  • 自動的にグローバルレプリケート — 管理すべきリージョンがありません。
  • シンプルな API — getputdeletelist、オプションの TTL 付き。
  • 読み取り中心のワークロードでは大規模でも安価。使える無料枠あり。
  • Workers と Pages Functions に直接バインドできます。

トレードオフ

  • 結果整合性 — 書き込み直後に必ず正しくなければならないデータには不向きです。
  • 書き込みは読み取りに比べて遅く、レート制限があります。
  • 値のサイズには上限があり(約 25 MB)、R2 のような大容量ストレージではありません。
  • クエリやリレーションはありません — 厳密にキーから値への対応のみです。

使うべきとき

設定、フィーチャーフラグ、キャッシュした API レスポンス、ルーティングテーブル、セッションの参照、そして数秒の鮮度低下を許容できる読み取り中心のデータに KV を使いましょう。

バイブコーディングとの相性

KV は、Worker にキャッシュや設定を追加するエージェントにとって手軽な成果です。バインディングを 1 つ、あとは get/put。結果整合性であることを明示し、書き込み後の読み取り保証が必要な場面でエージェントが 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"