Valkey vs Redis – 简单实用的解释
发布: (2026年1月9日 GMT+8 05:59)
4 分钟阅读
原文: Dev.to
Source: Dev.to

🔑 什么是 Valkey?
Valkey 是 Redis 的开源分支,创建于 2024 年,完全兼容并得到 Linux 基金会 的支持。它是对 Redis 许可证变更(≥ 7.4) 的响应,该变更使其不再符合 OSI 标准的开源。
👉 Valkey 的目标
- 保持 Redis 100 % 开源
- 与 Redis 完全兼容(命令、协议、客户端)
- 社区治理且中立
- 无供应商锁定
在实践中: Valkey 是 Redis,只是采用了开放许可证并由社区开发。
🧠 Valkey 用途是什么?
完全与 Redis 相同的使用场景:
- 内存缓存
- 会话存储
- 发布/订阅
- 速率限制
- 分布式锁
- 流
- 排行榜
- 复制
- 持久化(RDB / AOF)
- Redis 集群
⚖️ Valkey vs Redis (快速比较)
| 特性 | Valkey | Redis (≥ 7.4) |
|---|---|---|
| 许可证 | ✅ 开源(BSD/Apache 风格) | ❌ RSAL / SSPL |
| 治理 | Linux Foundation | Redis Inc |
| 兼容性 | 100 % Redis | 原生 |
| 商业使用 | ✅ 免费 | ⚠️ 限制 |
| 供应商锁定 | ❌ 低 | ⚠️ 高 |
| 云友好 | ✅ 是 | ⚠️ 受限 |
| K8s 支持 | ✅ 优秀 | ✅ |
🧾 许可证:关键点
Redis 现状
- RSAL / SSPL 许可证
- 未被 OSI 视为开源
- 对 SaaS 和云服务提供商有限制
Valkey
- 真正的开源
- 商业使用无限制
- 适用于企业、教育和政府
正因如此 AWS、Google、Oracle 以及其他供应商支持 Valkey。
🧪 Demo 1 – Valkey 本地 Docker
docker run -d --name valkey -p 6379:6379 valkey/valkey:latest

快速测试
redis-cli ping
# PONG
redis-cli set demo "hola valkey"
redis-cli get demo
# "hola valkey"

🧪 演示 2 – Pub/Sub
终端 A
redis-cli subscribe events

终端 B
redis-cli publish events "mensaje desde valkey"

终端 A 的结果

☸️ Demo 3 – Valkey 在 Kubernetes 中
创建文件 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
volumes:
- name: data
emptyDir: {}
应用清单:
kubectl apply -f valkey.yaml
文档结束。
periodSeconds: 5
livenessProbe:
tcpSocket:
port: 6379
initialDelaySeconds: 15
periodSeconds: 10
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
部署
kubectl apply -f valkey.yaml
从 pod 访问
kubectl run -it --rm vcli -n demo --image=redis:7 -- bash
运行 ping 以验证连接:
redis-cli -h valkey.demo.svc.cluster.local ping
PONG
Código fuente: k8s-valkey-demo
🔄 如果我来自 Redis,是否需要更改代码?
No.
- 相同的命令
- 相同的 RESP 协议
- 相同的客户端(
redis-cli、node-redis、ioredis等)
只需更换镜像:
image: valkey/valkey
🚀 结论
如果您正在构建:
- Kubernetes
- SaaS
- 云平台
- 开源项目
Valkey 是今天推荐的选项。
