Redis 跨云迁移执行手册

Key 数相同,也可能在 TTL、类型、槽位和重放语义上不一致

云迁易编辑部更新于 2026-07-14内容与审核规范

本手册适用于开源 Redis 单机、主从和 Cluster 与中国云兼容缓存服务之间的常见迁移。兼容 Redis 的云产品可能在命令、模块、持久化、代理、集群和淘汰策略上存在差异,不能只按版本号判断兼容。


角色迁移要求回滚重点
可重建缓存
可以从数据库或消息重新预热
防止缓存击穿、雪崩和旧值污染
会话或令牌
需要保留 TTL 与失效语义
双端会话、强制退出和安全边界
队列、计数或锁
高度依赖命令原子性和顺序
非幂等重放、重复消费和锁安全
事实数据存储
必须按数据库级别设计持久化与对账
新写入合并、数据丢失和恢复证据

如果 Redis 只是可重建缓存,优先评估新建目标、灰度预热和逐步切流;这通常比复制全部过期缓存更可控。


方法适用情况关键限制
RDB 导入
可停写、目标明确支持导入、数据规模可控
快照时点后的写入不会自动追平
RedisShake
自建或网络可达、执行一次性全量加增量迁移
4.x 不支持断点续传或拓扑变化感知,中断可能需要重新全量
目标云迁移服务
目标为托管服务、需要全量加增量
支持的源拓扑、命令、对象和网络随产品变化
重新预热
纯缓存、数据可从权威源重建
需要容量、热点和回源保护方案

Redis 官方说明 RDB 是时点快照,AOF 记录写操作;两者在数据损失窗口、恢复速度和运行开销上不同,不能把持久化文件存在等同于迁移可恢复。Redis 持久化


  • 完整版本、发行版、单机/主从/Cluster/代理拓扑与分片数量
  • DB 数量、Key 总数、内存占用、平均与峰值写入、网络吞吐
  • String、Hash、List、Set、Sorted Set、Stream 和模块数据类型
  • TTL 分布、永久 Key、临近过期 Key、淘汰策略和最大内存
  • Lua、事务、Pub/Sub、锁、队列、非幂等命令和批量命令
  • hash tag、槽位分布、热 Key、大 Key、客户端重定向和连接池行为
  • RDB/AOF 策略、复制 backlog、PSYNC、备份、恢复与告警

  1. 使用专用迁移账号或 ACL 用户,仅开放任务所需命令和 Key 范围。
  2. 迁移端放在受控网络中;公网连接需启用 TLS、来源限制和临时白名单。
  3. 密码、TLS 私钥和云凭据放入权限受限配置或密钥服务,不写入命令行与报告。
  4. 迁移前生成独立备份并验证隔离恢复;同步任务不是备份。
  5. 目标实例保持空库且不接受业务写入,直到割接门禁通过。

  1. 对生产版本、拓扑、命令和模块建立兼容矩阵,不支持项明确过滤、转换或阻断。
  2. 用脱敏样本迁移全部数据类型,检查序列化、TTL、过期、Lua 与事务行为。
  3. 压测全量期间的源端 CPU、fork、延迟、网络和目标端写入限速。
  4. 模拟网络中断、重新全量、目标限流、内存逼近阈值和源端复制 backlog 不足。
  5. 对 List 等非幂等结构验证重试是否产生重复或顺序变化。
  6. 演练停写、追平、客户端切换、缓存预热、回切和源端只读观察。

  • RDB 基线生成前评估 fork 对内存与延迟的影响,大实例优先在副本执行。
  • 持续同步必须监控复制偏移、延迟、重连、错误命令、过滤数量和目标内存。
  • 延长复制 backlog 前计算内存占用,确保最长故障恢复期间仍可续传。
  • 不在迁移过程中随意修改 Key 过滤、目标前缀、DB 映射或集群拓扑。
  • 目标端禁止业务写入,避免重复列表项、计数偏差和冲突覆盖。

RedisShake 提供 Sync、Scan 和 RDB Reader 等模式,但 4.x 不支持断点续传,也不适合长期同步;生产配置必须以实际版本重新核验。RedisShake 快速上手RedisShake 迁移模式断点续传限制


  1. 停止所有写入口、队列消费者、定时任务和会更新缓存的后台任务。
  2. 等待增量延迟和复制偏移达到批准阈值,记录最终时间和位点。
  3. 比较 Key 数、类型、TTL 分布、核心样本和应用业务结果。
  4. 切换少量客户端,观察连接、超时、重定向、命令错误、命中率和延迟。
  5. 逐步放量;源端保持隔离或只读,不立即关闭同步或删除备份。

回滚前必须先停止目标端写入。若目标端已产生锁、队列、计数或会话变化,不能简单把连接切回源端;应按业务选择丢弃可重建缓存、导出差异、应用补偿或只前进修复。


  • 每个 DB 或分片的 Key 数、类型分布、内存与 TTL 分布
  • 核心 Key 抽样值、编码、过期时间和业务语义
  • 大 Key、热 Key、hash tag、槽位、Lua、事务、Stream 和模块命令
  • 命中率、淘汰、延迟、连接数、错误、复制状态和内存碎片
  • 备份、隔离恢复、客户端切换、回滚与缓存预热证据

使用数据库迁移验收方法保存证据。


核验日期:2026-07-14。正式任务前重新检查源拓扑、目标产品、版本、命令、模块、网络、全量/增量、限速和计费。本手册未声称所有兼容 Redis 产品都具有相同语义。

Built with