迁移工具
Redis迁移工具对比
工具/命令/服务 | 特点 | 说明 |
---|---|---|
DCS控制台界面一键式迁移 | 操作简单,同时支持在线迁移和离线迁移(备份文件导入)两种方式,其中在线迁移支持增量数据迁移。 | 离线迁移,适用于源Redis和目标Redis网络不连通、源Redis不支持SYNC/PSYNC命令的场景。需要将数据备份文件导入到OBS,DCS从OBS桶中读取数据,将数据迁移到DCS的Redis中。 在线迁移,涉及到SYNC/PSYNC命令,适用于源Redis放通了SYNC/PSYNC命令的场景。支持将源Redis中的数据全量迁移或增量迁移到目标Redis中。 |
Redis-cli | Redis自带命令行工具,支持导出RDB文件,也支持将持久化的AOF文件整库导入。 AOF文件为所有数据更改命令的全量集合,数据文件稍大。 |
- |
Rump | 支持在线迁移,支持在同一个实例的不同数据库之间,以及不同实例的数据库之间迁移。 | 不支持增量迁移。建议停业务后迁移,避免出现Key丢失。详情参考使用Rump在线迁移。 |
Redis-Shake | 在线迁移和离线迁移均支持的一款开源工具。 | 适用于Cluster集群的数据迁移。 |
自行开发迁移脚本 | 灵活,根据实际情况适配。 | - |
迁移方案
说明自建Redis,指的是在本服务、其他云厂商、本地数据中心自行搭建的Redis。
自建Redis,指的是在本服务、其他云厂商、本地数据中心自行搭建的Redis。
迁移方案
迁移场景 工具 迁移案例 迁移说明 自建Redis迁移至DCS DCS控制台界面一键式迁移 如果自建Redis和DCS Redis实例网络连通,推荐使用在线迁移自建Redis。
如果自建Redis和DCS Redis实例网络不通,推荐使用备份文件迁移自建Redis。- Redis-cli 使用Redis-cli迁移自建Redis(AOF文件) - 使用Redis-cli迁移自建Redis(RDB文件) - Redis-Shake 使用Redis-Shake工具迁移自建Redis Cluster集群 - DCS实例间迁移 DCS控制台界面一键式迁移 低版本Redis实例迁移到高版本Redis实例,例如Redis 3.0迁移至Redis 4.0/5.0:
如果源Redis实例和目标Redis实例的网络连通,推荐使用在线迁移Redis实例,如果网络不连通,推荐使用备份文件迁移不同Redis版本的实例。由于Redis不同版本存在数据兼容问题,建议高版本不要迁移到低版本,否则迁移失败。 不同Region的Redis实例迁移,推荐使用备份文件迁移不同Region的实例。 由于DCS Redis实例默认是禁用了SYNC和PSYNC命令,在相同Region执行在线迁移时,会默认放通SYNC和PSYNC命令,但是在不同Region迁移时,没有放通该命令操作,所以无法使用在线迁移,推荐使用备份文件迁移。 不同帐号的Redis实例迁移,例如从帐号A迁移到帐号B:
推荐使用备份文件迁移不同Redis版本的实例。
如果可以打通网络,也可以使用在线迁移Redis实例。- 其他云厂商Redis服务迁移至DCS DCS控制台界面一键式迁移 如果其他云厂商Redis服务,没有禁用SYNC和PSYNC命令,推荐使用在线迁移其他云厂商Redis。
如果其他云厂商Redis服务,禁用了SYNC和PSYNC命令,推荐使用备份文件迁移其他云厂商Redis。如果需要使用在线迁移,建议联系其他云厂商运维人员放通SYNC和PSYNC命令。 Rump 使用Rump在线迁移 - Redis-Shake 使用Redis-Shake工具离线迁移其他云厂商Redis Cluster集群 - 使用Redis-shake工具在线全量迁移其他云厂商Redis - DCS实例迁移下云 DCS控制台界面一键式迁移 DCS实例迁移下云 DCS控制台支持在线迁移方式迁移到自建Redis。