~/VibeHandbook

Cloudflare

developers.cloudflare.com

Workers KV

Что это такое

Workers KV — это глобальное хранилище ключ-значение, спроектированное под чтение. Вы записываете значение один раз, и Cloudflare реплицирует его по своей сети так, что любой Worker, где угодно, может прочитать его с очень низкой задержкой. Оно eventually consistent (с конечной согласованностью): запись становится видна везде в течение короткого окна — это компромисс за скорость и глобальность.

Сильные стороны

  • Чрезвычайно быстрое чтение с низкой задержкой откуда угодно на edge.
  • Автоматически реплицируется глобально — никакими регионами управлять не нужно.
  • Простой API: get, put, delete, list, с опциональными TTL.
  • Дёшево на масштабе для нагрузок с преобладанием чтения; пригодный к использованию бесплатный тариф.
  • Привязывается прямо к Workers и Pages Functions.

Компромиссы

  • Конечная согласованность — не для данных, которые должны быть верны в тот же миг после записи.
  • Запись медленнее и ограничена по частоте по сравнению с чтением.
  • Размер значения ограничен (около 25 МБ); это не объёмное хранилище, как R2.
  • Никаких запросов или связей — строго ключ к значению.

Когда это использовать

Используйте KV для конфигурации, фича-флагов, кэшированных ответов API, таблиц маршрутизации, поиска сессий и любых преимущественно читаемых данных, которые вы готовы терпеть устаревшими на несколько секунд.

Соответствие vibe coding

KV — лёгкая победа для агента, добавляющего кэширование или конфигурацию в Worker: одна привязка, затем get/put. Чётко укажите, что согласованность конечная, чтобы агент не тянулся к KV там, где нужны гарантии чтения после записи, — направьте его на D1 или Durable Object для этого. Сниппет привязывает namespace и инициализирует значение.

# 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"