从 Redis 迁移到 Valkey

适用场景

需要从 Redis 切换到开源许可证更宽松、协议兼容的 Valkey,或希望保持 Redis 客户端和命令不变的同时获得社区持续维护。大多数 Redis 客户端可以直接连接 Valkey。

前置条件

步骤

  1. 记录旧实例信息:
redis-cli INFO server
redis-cli INFO keyspace
redis-cli CONFIG GET maxmemory
redis-cli CONFIG GET appendonly
redis-cli MODULE LIST
  1. 部署 Valkey,保持相同的认证、TLS 和持久化配置。先用测试实例验证客户端兼容性:
valkey-server /etc/valkey/valkey.conf
valkey-cli -h valkey-test -p 6379 PING
  1. 建立复制关系,让 Valkey 从 Redis 同步:
valkey-cli -h valkey-test REPLICAOF redis-old 6379
valkey-cli -h valkey-test INFO replication

等待 master_link_status:up 且偏移量追平。

  1. 在低峰期停止写入,确认偏移量一致:
redis-cli INFO replication
valkey-cli INFO replication
  1. 将 Valkey 提升为主:
valkey-cli -h valkey-test REPLICAOF NO ONE
  1. 切换应用连接地址或 DNS。先切一小部分流量,观察错误率和延迟。

  2. 验证数据完整性和关键命令:

valkey-cli DBSIZE
valkey-cli --scan --pattern 'user:*' | head
valkey-cli INFO commandstats

验证

回滚

常见坑

相关命令