Workers KV
Qué es
Piensa en un diccionario gigante: buscas una palabra (la clave) y obtienes al instante su definición (el valor). Workers KV es un almacén KV (key-value, clave-valor) global construido de esa manera y diseñado para lecturas. Escribes un valor una vez, y Cloudflare lo copia por toda su red para que cualquier Worker, en cualquier lugar, pueda leerlo con latencia muy baja (casi sin espera). Tiene consistencia eventual: después de una escritura, el nuevo valor se vuelve visible en todas partes dentro de una ventana breve. Ese pequeño retraso es la contrapartida de ser rápido y global.
Puntos fuertes
- Lecturas extremadamente rápidas y de baja latencia desde cualquier lugar en el .
- Replicado globalmente de forma automática — sin regiones que gestionar.
- (Application Programming Interface — Interfaz de Programación de Aplicaciones, el pequeño conjunto de comandos que invocas) simple:
get,put,delete,list, con TTLs (Time To Live — Tiempo de Vida, cuánto tiempo se conserva un valor antes de expirar automáticamente) opcionales. - Económico a escala para cargas de trabajo con muchas lecturas; nivel gratuito utilizable.
- Se conecta directamente a Workers y a Pages Functions.
Contrapartidas
- Consistencia eventual — no sirve para datos que deban ser correctos justo después de una escritura.
- Las escrituras son más lentas y tienen límite de frecuencia en comparación con las lecturas.
- El tamaño del valor tiene un tope (alrededor de 25 MB); no es almacenamiento masivo como R2.
- Sin consultas ni relaciones — es estrictamente clave a valor.
Cuándo usarlo
Usa KV para configuración, feature flags (banderas de funcionalidad), respuestas de API cacheadas, tablas de enrutamiento, búsquedas de , y cualquier dato mayormente de lectura que puedas tolerar que esté desactualizado por unos segundos.
Encaje con vibe coding
KV es una victoria fácil para un que añade o configuración a un Worker: un binding (enlace), y luego get/put. Deja claro que tiene consistencia eventual, para que el agente no recurra a KV donde necesite garantías de lectura-tras-escritura — en ese caso, dirígelo a D1 o a un Durable Object. El siguiente fragmento enlaza un namespace (espacio de nombres) y siembra un valor.
# 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"