DEV Community

Cover image for Valkey vs Redis – Explicación simple y practica
Afu Tse (Chainiz)
Afu Tse (Chainiz)

Posted on

Valkey vs Redis – Explicación simple y practica

🔑 ¿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
Enter fullscreen mode Exit fullscreen mode

docker run

Prueba rápida:

redis-cli ping
# PONG

redis-cli set demo "hola valkey"
redis-cli get demo
Enter fullscreen mode Exit fullscreen mode

redis-cli


🧪 Demo 2 – Pub/Sub

Terminal A:

redis-cli subscribe events
Enter fullscreen mode Exit fullscreen mode

redis-cli subscribe

Terminal B:

redis-cli publish events "mensaje desde valkey"
Enter fullscreen mode Exit fullscreen mode

redis-cli publish

Terminal A:
redis-cli subscribe result


☸️ 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
Enter fullscreen mode Exit fullscreen mode

Desplegar:

kubectl apply -f valkey.yaml
Enter fullscreen mode Exit fullscreen mode

Acceso desde un pod:

kubectl run -it --rm vcli -n demo --image=redis:7 -- bash
Enter fullscreen mode Exit fullscreen mode

Ejecuta el ping para validar conexion

redis-cli -h valkey.demo.svc.cluster.local ping
PONG
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

🚀 Conclusión

Si estás construyendo:

  • Kubernetes
  • SaaS
  • Plataformas cloud
  • Proyectos open source

👉 Valkey es la opción recomendada hoy.

Top comments (0)