Por qué el debate Redis/Valkey vuelve en 2026
En marzo de 2024, Redis Ltd. migró a la licencia BSL (Business Source License), excluida de las definiciones open source de la OSI. La reacción fue inmediata: la Linux Foundation coordinó la creación de Valkey con el apoyo de Meta, Google, AWS y varios grandes proveedores de alojamiento. El fork partió del código de Redis 7.2 bajo licencia BSD. En mayo de 2025, Redis volvió a una licencia compatible con la OSI adoptando AGPLv3 — una señal positiva, pero AGPLv3 es un copyleft fuerte: cualquier software que lo integre debe publicar su código fuente, lo que supone restricciones reales para los proveedores de hosting revendedor y los editores de software comercial. Mientras tanto, Valkey 9.1 se convirtió en el paquete predeterminado en Ubuntu 24.04+, Debian 13 y Fedora 40+.
Redis vs Valkey: diferencias clave en 2026
Desplace la tabla
| Criterio | Redis 8 (AGPLv3) | Valkey 9.1 (BSD) |
|---|---|---|
| Licencia | AGPLv3 — copyleft fuerte, integración comercial restringida | BSD — permisiva, uso comercial libre |
| Rendimiento | Referencia histórica | +8% ops/seg, -22% latencia P99, -20% memoria |
| Compatibilidad protocolo | 100% protocolo Redis | 100% protocolo Redis — sustitución transparente |
| Soporte distros | No instalado por defecto | Ubuntu 24.04+, Debian 13, Fedora 40+ — paquete nativo |
| Módulos | Redis Stack de pago (RedisJSON, RediSearch…) | API de módulos compatible, ecosistema en desarrollo |
| Adopción cloud | AWS ElastiCache sigue siendo Redis | GCP Memorystore Valkey disponible, AWS avanza hacia Valkey |
| Ideal para | Proyectos existentes que dependen de módulos Redis Stack | Nuevos 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 5+, redis-py 5+) funcionan sin modificación con Valkey.
Formatos de datos: RDB y AOF completamente compatibles
El formato de los archivos de persistencia es el otro punto crítico de una migración. Valkey lee y escribe los mismos formatos que Redis, sin conversión intermedia.
RDB: Valkey soporta las versiones RDB 6, 7, 8, 9 y 10. Un archivo dump.rdb exportado desde Redis 7.x u 8.x se importa directamente en Valkey 9.1 colocándolo en el directorio dir de Valkey antes del arranque.
AOF: el formato de diario AOF es idéntico entre Redis y Valkey. Si usas persistencia AOF o modo mixto (aof-use-rdb-preamble yes), 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 idénticas a las de Redis.
API de comandos: qué es idéntico, qué difiere
El conjunto completo de comandos Redis 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 introducido el alias valkey.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 propietarios Redis Stack — RedisJSON, RediSearch, RedisTimeSeries, RedisBloom — no están disponibles en Valkey. Si tu código llama a comandos como JSON.SET, FT.SEARCH o TS.ADD, la migración directa aún no es posible.
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 (no redis-server). Los comandos son systemctl start valkey, 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, 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 el código de cualquier servicio que lo integre, una restricción incompatible con la mayoría de las ofertas comerciales. Los nuevos proyectos no tienen razón para empezar con Redis: Valkey es el paquete predeterminado en las distribuciones recientes, el rendimiento es superior y la licencia no tiene restricciones. Los stacks de RGPD y soberanía también se benefician de la gobernanza de la Linux Foundation. Finalmente, si no usas los módulos propietarios Redis Stack, la migración es transparente.
Migrar de Redis a Valkey en 4 pasos
Verificar la compatibilidad
Ejecuta
redis-cli INFO server | grep redis_versionpara 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. Verifica también tus scripts Lua:redis.call()sigue siendo compatible.Instalar Valkey
En Ubuntu 24.04+ y Debian 13, Valkey está disponible en los repositorios nativos:
apt install valkey. En Fedora 40+,dnf install valkey. En distribuciones más antiguas, añade el repositorio oficial de Valkey antes de la instalación.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 adaptadir,logfile,pidfilepara 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 directoriodirde Valkey.Arrancar Valkey y validar
Arranca el servicio (
systemctl start valkey), luego valida convalkey-cli ping— debes obtenerPONG. Verifica que tus datos están presentes convalkey-cli DBSIZEy 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. Resultado esperado: cifras superiores a tu antigua instancia Redis en el mismo servidor.
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 — legibles por Valkey sin conversión
- La sintaxis de
redis.conf— copia el archivo y actualiza las rutas - Tus scripts Lua —
redis.call()funciona,valkey.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-clilos 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.