您可以使用rump工具将GCP Memorystore实例中的数据迁移到云数据库Redis版中。
前提条件
迁移原理
Rump工具通过
SCAN的方式从Memorystore批量获取key列表,接着使用
DUMP命令获取key内容,之后通过
PTTL方式获取过期时间,最后以pipeline的方式将数据
RESTORE到目的实例中。
说明 该迁移方式不支持增量迁移。
操作步骤
- 在GCP Compute Engine中使用如下命令进行数据迁移:
./rump -from source_addr -fromPwd source_pwd -to dest_addr -toPwd dest_pwd [-size size] [-replace]
表 1. Rump选项说明 选项 说明 source_addr 源Redis实例的地址,此处为GCP Memorystore实例的内网IP地址,格式为 redis://host:port/db
。Host与port为必须参数,db不设置则默认为0。source_pwd 源Redis实例的密码,GCP Memorystore实例无密码则省略该选项。 dest_addr 目的Redis实例的地址,此处为做了公网连接设置的ECS实例的公网IP地址,格式为 redis://host:port/db
。Host与port为必须参数,db不设置则默认为0。dest_pwd 目的Redis实例的密码,此处为阿里云Redis实例的密码。 size 单次SCAN并同步的key的数量,默认为10。 replace 设置此选项表示如目的实例存在相同key则直接覆盖。如未设置,迁移中如果出现重复key将显示错误信息。 说明 如设置了该选项,请确认目的Redis实例中的重要数据都得到了妥善备份,避免被覆盖后遗失。 - 在云数据库Redis版中校验数据的完整性。