Tutorial

Bases de datos

Valkey vs Redis en 2026: comparativa y guía de migración

En 2024, el cambio de Redis a las licencias RSALv2 y SSPLv1 sacudió el ecosistema open source. La Linux Foundation, con AWS, Google Cloud, Oracle, Ericsson y Snap, respondió con Valkey, un fork BSD mantenido colectivamente. Desde entonces, Redis dio marcha atrás añadiendo AGPLv3 con Redis 8 en mayo de 2025 — una señal positiva, pero AGPLv3 es un copyleft fuerte. Valkey 9.1, publicado en mayo de 2026, es la rama estable actual; Fedora lo adoptó en lugar de Redis, y Debian y Ubuntu lo ofrecen en sus repositorios oficiales. Esta guía cubre las diferencias reales — protocolo, formato de datos, API de módulos, bibliotecas y configuración — y te ayuda a elegir y migrar en cuatro pasos.

12 min de lectura4 pasos
Contenido· Por qué el debate Redis/Valkey vuelve en 20261/11
  1. 01Por qué el debate Redis/Valkey vuelve en 2026
  2. 02Redis vs Valkey: diferencias clave en 2026
  3. 03Compatibilidad de protocolo: RESP2 y RESP3
  4. 04Formatos de datos: RDB y AOF compatibles hasta Redis 7.2
  5. 05API de comandos: qué es idéntico, qué difiere
  6. 06Configuración: parámetros a verificar al cambiar
  7. 07Bibliotecas cliente: lo que no cambias
  8. 08Cuándo elegir Valkey en lugar de Redis
  9. 09Migrar de Redis a Valkey en 4 pasos
  10. 10Lo que no cambia en una migración Redis → Valkey
  11. 11¿Y tus otras bases de datos en VPS?

Por qué el debate Redis/Valkey vuelve en 2026

En marzo de 2024, Redis Ltd. anunció que a partir de Redis 7.4 el código se publicaría bajo doble licencia RSALv2 y SSPLv1, dos licencias no aprobadas por la OSI. La reacción fue inmediata: la Linux Foundation lanzó Valkey con el apoyo de AWS, Google Cloud, Oracle, Ericsson y Snap. El fork partió de Redis 7.2.4 bajo licencia BSD. En mayo de 2025, Redis 8 añadió AGPLv3, licencia aprobada por la OSI, como opción junto a las otras dos — una señal positiva, pero AGPLv3 es un copyleft fuerte: quien modifica Redis y lo ofrece a usuarios a través de una red debe publicar el código fuente de esas modificaciones, lo que plantea dudas reales a los proveedores de hosting revendedor y a los editores de software comercial. Mientras tanto, Fedora sustituyó Redis por Valkey desde Fedora 41, y Debian 13 y Ubuntu 24.04 ofrecen un paquete valkey-server en sus repositorios oficiales.

Redis vs Valkey: diferencias clave en 2026

Desplace la tabla

CriterioRedis 8 (AGPLv3, RSALv2 o SSPLv1)Valkey 9.1 (BSD)
LicenciaAGPLv3 como opción — copyleft fuerte; RSALv2 y SSPLv1 restringen la oferta como servicio gestionadoBSD de 3 cláusulas — permisiva, uso comercial libre
RendimientoReferencia históricaComparable — mídelo en tu carga con `valkey-benchmark`
Compatibilidad protocolo100% protocolo Redis100% protocolo Redis — sustitución transparente
Soporte distrosPaquete `redis-server` en Debian y UbuntuSustituye a Redis en Fedora 41+; paquete `valkey-server` en Debian 13 y Ubuntu 24.04
MódulosJSON, búsqueda, series temporales y tipos probabilísticos integrados en Redis 8API de módulos compatible; módulos oficiales valkey-json, valkey-bloom, valkey-search
Adopción cloudRedis Cloud, la oferta gestionada del editorOfrecido por AWS ElastiCache y Google Cloud Memorystore
Ideal paraProyectos existentes que dependen de módulos Redis StackNuevos proyectos, proveedores de hosting, stacks soberanos, distros modernas

Compatibilidad de protocolo: RESP2 y RESP3

La pregunta más frecuente antes de una migración es la del protocolo. Valkey implementa al 100% el Redis Serialization Protocol en sus dos versiones.

RESP2 (el protocolo histórico) está completamente soportado. Todas tus bibliotecas clientes existentes — ioredis, Predis, redis-py, Jedis, StackExchange.Redis — se comunican con Valkey sin ninguna modificación de código o configuración.

RESP3 (introducido con Redis 6.0) también está soportado por Valkey 9.1. Este protocolo aporta tipos de respuesta enriquecidos — maps, sets, doubles, booleanos, atributos — que permiten a los clientes modernos reducir las idas y venidas de análisis. Las bibliotecas que activan RESP3 por defecto (ioredis 6, redis-py 8) funcionan sin modificación con Valkey.

Formatos de datos: RDB y AOF compatibles hasta Redis 7.2

El formato de los archivos de persistencia es el otro punto crítico de una migración, y aquí cuenta tu versión de partida. Valkey es compatible con Redis OSS 7.2 y todas las versiones open source anteriores; a partir de Redis 7.4, los archivos de datos ya no lo son.

RDB: Valkey lee los archivos RDB hasta la versión 11, la de Redis 7.2. Un archivo dump.rdb producido por Redis 7.2 o anterior se importa directamente en Valkey 9.1 colocándolo en el directorio dir de Valkey antes del arranque. Redis 7.4 y Redis 8 escriben RDB de versión 12 o superior, que Valkey rechaza por defecto; la opción rdb-version-check relaxed intenta una carga a medias, interrumpida en cuanto aparece un dato desconocido. Desde esas versiones, usa una migración clave por clave (MIGRATE o una herramienta dedicada) o deja que la caché se reconstruya.

AOF: hasta Redis 7.2, el formato de diario AOF es el mismo que el de Valkey. Si usas persistencia AOF o modo mixto (aof-use-rdb-preamble yes) en esas versiones, tus archivos existentes son leídos por Valkey sin modificación.

Formato de datos en memoria: las estructuras de datos de Valkey — strings, hashes, lists, sets, sorted sets, streams, HyperLogLog, bitmaps, geospatial — son las mismas que las de Redis; sus codificaciones internas pueden evolucionar de una versión a otra sin efecto para el cliente.

API de comandos: qué es idéntico, qué difiere

El conjunto completo de comandos de Redis 7.2 está soportado por Valkey. Las categorías principales — strings, hashes, lists, sets, sorted sets, streams, pub/sub, transacciones, scripting Lua, notificaciones de keyspace, cluster — funcionan de forma idéntica.

Scripting Lua: Valkey soporta EVAL, EVALSHA y SCRIPT LOAD. Los scripts Lua escritos para Redis se ejecutan sin modificación en Valkey. La función redis.call() está disponible, con un matiz: Valkey ha añadido el espacio de nombres server (server.call()) para nuevos scripts, pero redis.call() sigue funcionando.

Cluster: el protocolo Gossip y los comandos de gestión de cluster (CLUSTER INFO, CLUSTER NODES…) son idénticos.

ACL: el formato de reglas ACL es idéntico. Un aclfile exportado desde Redis puede recargarse en Valkey.

Notificaciones de keyspace: la configuración notify-keyspace-events y los patrones de suscripción son idénticos.

Qué difiere: los módulos Redis Stack — RedisJSON, RediSearch, RedisTimeSeries, RedisBloom —, integrados en Redis 8, no vienen con Valkey. Valkey publica sus propios módulos oficiales: valkey-json (JSON.*), valkey-bloom (BF.*) y valkey-search (FT.*, búsqueda vectorial), pero la API no está garantizada idéntica y ningún módulo oficial sustituye a RedisTimeSeries. Si tu código llama a comandos como JSON.SET, FT.SEARCH o TS.ADD, prueba cada uno antes de migrar.

Configuración: parámetros a verificar al cambiar

La sintaxis de valkey.conf es idéntica a la de redis.conf. Puedes copiar tu archivo de configuración existente sin reescritura. Algunos puntos requieren verificación específica.

Rutas predeterminadas: Valkey usa /etc/valkey/valkey.conf y /var/lib/valkey/ en lugar de /etc/redis/. Si copias tu configuración, actualiza las directivas dir, logfile, pidfile y aclfile.

Nombre del servicio systemd: el servicio se llama valkey-server en Debian y Ubuntu (con el alias valkey) y valkey en Fedora. Los comandos son systemctl start valkey-server o systemctl enable valkey.

TLS: Valkey soporta TLS en conexiones de cliente de forma idéntica a Redis 6+.

maxmemory y políticas de expulsión: las políticas de expulsión (allkeys-lru, volatile-lru…) son idénticas.

Bibliotecas cliente: lo que no cambias

Esta es una de las fortalezas de Valkey: ninguna biblioteca cliente requiere modificación para conectarse a Valkey. Al ser el protocolo idéntico, el cliente no sabe si está hablando con Redis o con Valkey.

JavaScript / Node.js: ioredis, node-redis, redis — todas funcionan. Cambia solo el host y el puerto.

Python: redis-py y su cliente asíncrono redis.asyncio, que sustituye a aioredis — compatibles. La conexión Redis(host='valkey-host', port=6379) funciona sin más cambios.

PHP: phpredis, Predis — compatibles. Sin cambios de código.

Java: Jedis, Lettuce, Redisson — compatibles.

.NET: StackExchange.Redis — compatible.

Go: go-redis, rueidis — compatibles.

Si usas Laravel Cache, Django django-redis, Spring Data Redis o Symfony Cache, estas capas de abstracción se reconectan a Valkey sin cambios de código — solo cambia el DSN de conexión.

Cuándo elegir Valkey en lugar de Redis

Valkey se impone naturalmente en varios contextos. Los proveedores de hosting y revendedores son los más afectados: la AGPLv3 de Redis obliga a publicar las modificaciones hechas a Redis en cuanto se ofrece a través de una red, y sus otras dos licencias (RSALv2, SSPLv1) restringen ofrecer Redis como servicio gestionado — restricciones difíciles de conciliar con la mayoría de las ofertas comerciales. Los nuevos proyectos que no necesitan los módulos de Redis 8 tienen pocas razones para empezar con Redis: Valkey está disponible en los repositorios de las distribuciones recientes y su licencia BSD no tiene restricciones. Los stacks de RGPD y soberanía también se benefician de la gobernanza de la Linux Foundation. Finalmente, si partes de Redis 7.2 o anterior y no usas los módulos Redis Stack, la migración es transparente.

Migrar de Redis a Valkey en 4 pasos

  1. Verificar la compatibilidad

    Ejecuta redis-cli INFO server | grep redis_version para identificar tu versión actual. Lista tus dependencias y confirma que ninguna usa módulos Redis Stack (RedisJSON, RediSearch, RedisTimeSeries). Si es así, la migración directa aún no está recomendada. Más allá de Redis 7.2 (7.4, 8.x), Valkey no puede leer tus archivos RDB y AOF: prevé una migración clave por clave. Verifica también tus scripts Lua: redis.call() sigue siendo compatible.

  2. Instalar Valkey

    En Ubuntu 24.04+ y Debian 13, Valkey está disponible en los repositorios nativos: apt install valkey-server (Ubuntu 24.04 ofrece la rama 7.2, Debian 13 la rama 8.1). En Fedora 41+, dnf install valkey. Para una versión más reciente, usa los binarios oficiales o la imagen Docker valkey/valkey publicados en valkey.io.

  3. Copiar configuración y datos

    La sintaxis de configuración es idéntica. Copia tu archivo y actualiza las rutas: cp /etc/redis/redis.conf /etc/valkey/valkey.conf, luego adapta dir, logfile, pidfile para apuntar a /var/lib/valkey/. Exporta tus datos Redis mediante un snapshot RDB (redis-cli --rdb /tmp/dump.rdb) y coloca el archivo en el directorio dir de Valkey. Si el AOF está activado en la configuración de Valkey, desactívalo (appendonly no) en el primer arranque; si no, el RDB no se importa. Para evitar el corte, haz de Valkey una réplica de Redis (REPLICAOF <ip-redis> 6379, con masterauth si Redis exige contraseña) y luego REPLICAOF NO ONE.

  4. Arrancar Valkey y validar

    Arranca el servicio (systemctl start valkey-server, o valkey en Fedora), luego valida con valkey-cli ping — debes obtener PONG. Verifica que tus datos están presentes con valkey-cli DBSIZE y compara con el número de claves de tu antigua instancia Redis. Todas tus bibliotecas cliente (ioredis, Predis, redis-py) son compatibles sin modificación — cambia solo el host de conexión.

Valkey incluye valkey-benchmark, funcionalmente idéntico a redis-benchmark. Antes de cualquier migración en producción, valida el rendimiento en tu hardware con valkey-benchmark -n 100000 -q. Este comando envía 100.000 solicitudes y muestra el resumen de ops/seg para cada tipo de comando. Compara las cifras con las de tu antigua instancia Redis en el mismo servidor. Para probar el pipelining o RESP3, añade la opción -P 16 o -3.

Lo que no cambia en una migración Redis → Valkey

  • Todas tus bibliotecas cliente (ioredis, redis-py, Predis, Jedis, StackExchange.Redis, go-redis) — sin cambios de código
  • El protocolo de comunicación: RESP2 y RESP3 están completamente soportados
  • Tus archivos de persistencia RDB y AOF, si vienen de Redis 7.2 o anterior — legibles por Valkey sin conversión
  • La sintaxis de redis.conf — copia el archivo y actualiza las rutas
  • Tus scripts Lua — redis.call() funciona, server.call() está disponible adicionalmente
  • Tus reglas ACL exportadas desde Redis — recargadas directamente en Valkey
  • La configuración TLS, las políticas de expulsión de memoria y las notificaciones de keyspace
  • Los comandos habituales de redis-cli — valkey-cli los acepta todos

¿Y tus otras bases de datos en VPS?

Valkey es solo una pieza de tu stack de datos. Si también alojas una base de datos relacional, consulta nuestra guía sobre MariaDB en VPS: configuración, rendimiento y replicación. Para el motor de búsqueda full-text, nuestra guía de Elasticsearch en VPS cubre la instalación, el ajuste de memoria y los índices en producción. Cada componente merece una configuración adaptada a tu carga — nuestros VPS Cloud te dan el control completo de tu entorno.

Despliega Valkey en un VPS controlado

Nuestros VPS Cloud te dan acceso root completo para instalar Valkey, configurar tu stack de datos y optimizar el rendimiento según tus necesidades reales. Sin capa propietaria, sin restricciones de licencia.