🔑 ¿Qué es Valkey?
Valkey es un fork open-source de Redis, creado en 2024, totalmente compatible, creado tras el cambio de licencia de Redis para mantener una alternativa 100% open source y respaldado por la Linux Foundation.
Surge como respuesta al cambio de licencia de Redis (Redis ≥ 7.4), que dejó de ser open source bajo los estándares de la OSI.
👉 Objetivo de Valkey
- Mantener un Redis 100% open source
- Compatibilidad total con Redis (comandos, protocolo, clientes)
- Gobernanza comunitaria y neutral
- Sin vendor lock-in
En la práctica:
Valkey es Redis, pero con licencia abierta y desarrollo comunitario.
🧠 ¿Para qué sirve Valkey?
Exactamente los mismos casos de uso que Redis:
- Cache in-memory
- Session store
- Pub/Sub
- Rate limiting
- Distributed locks
- Streams
- Leaderboards
- Replication
- Persistence (RDB / AOF)
- Redis Cluster
⚖️ Valkey vs Redis (comparación rápida)
| Característica | Valkey | Redis (≥ 7.4) |
|---|---|---|
| Licencia | ✅ Open Source (BSD/Apache-style) | ❌ RSAL / SSPL |
| Gobernanza | Linux Foundation | Redis Inc |
| Compatibilidad | 100% Redis | Nativa |
| Uso comercial | ✅ Libre | ⚠️ Restricciones |
| Vendor lock-in | ❌ Bajo | ⚠️ Mayor |
| Cloud friendly | ✅ Sí | ⚠️ Limitado |
| Soporte K8s | ✅ Excelente | ✅ |
🧾 La licencia: el punto clave
Redis hoy
- Licencia RSAL / SSPL
- No considerada open source por la OSI
- Restricciones para SaaS y cloud providers
Valkey
- Open source real
- Uso comercial sin restricciones
- Ideal para empresas, educación y gobiernos
Por eso AWS, Google, Oracle y otros proveedores apoyan Valkey.
🧪 Demo 1 – Valkey local con Docker
docker run -d --name valkey -p 6379:6379 valkey/valkey:latest
Prueba rápida:
redis-cli ping
# PONG
redis-cli set demo "hola valkey"
redis-cli get demo
🧪 Demo 2 – Pub/Sub
Terminal A:
redis-cli subscribe events
Terminal B:
redis-cli publish events "mensaje desde valkey"
☸️ Demo 3 – Valkey en Kubernetes
Crear el archivo "valkey.yaml"
apiVersion: v1
kind: Namespace
metadata:
name: demo
---
apiVersion: v1
kind: Service
metadata:
name: valkey
namespace: demo
labels:
app: valkey
spec:
# Headless Service required by StatefulSet
clusterIP: None
selector:
app: valkey
ports:
- name: redis
port: 6379
targetPort: 6379
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: valkey
namespace: demo
spec:
serviceName: valkey
replicas: 1
selector:
matchLabels:
app: valkey
template:
metadata:
labels:
app: valkey
spec:
containers:
- name: valkey
image: valkey/valkey:latest
ports:
- name: redis
containerPort: 6379
volumeMounts:
- name: data
mountPath: /data
readinessProbe:
tcpSocket:
port: 6379
initialDelaySeconds: 5
periodSeconds: 5
livenessProbe:
tcpSocket:
port: 6379
initialDelaySeconds: 15
periodSeconds: 10
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
Desplegar:
kubectl apply -f valkey.yaml
Acceso desde un pod:
kubectl run -it --rm vcli -n demo --image=redis:7 -- bash
Ejecuta el ping para validar conexion
redis-cli -h valkey.demo.svc.cluster.local ping
PONG
Código fuente : k8s-valkey-demo
🔄 ¿Tengo que cambiar código si vengo de Redis?
👉 No.
- Mismos comandos
- Mismo protocolo RESP
- Mismos clientes (
redis-cli,node-redis,ioredis, etc.)
Solo cambia la imagen:
image: valkey/valkey
🚀 Conclusión
Si estás construyendo:
- Kubernetes
- SaaS
- Plataformas cloud
- Proyectos open source
👉 Valkey es la opción recomendada hoy.





Top comments (0)