迁移介绍
Redis-cli 是 Redis 自带的命令行客户端工具,它允许用户通过命令行与 Redis 服务器进行交互
如果 Redis 服务不支持获取 AOF 文件,你可以尝试使用 Redis-cli 工具获取 RDB 文件,并通过其他工具(如 Redis-Shake)将其导入到 DCS 缓存实例中。
说明源Redis实例必须支持“SYNC”命令,因为使用Redis-cli导出RDB文件依赖SYNC命令。
步骤1:导出前准备
对于主备或集群实例,由于数据写入 RDB 文件存在一定的时延,你可以在迁移之前先了解待迁移 Redis 实例的 RDB 策略配置(策略配置位于 redis.conf 文件中)
为确保 RDB 文件包含完整的缓存数据,建议先暂停业务系统
步骤2:导出RDB文件
说明建议业务空闲时间进行迁移操作。
待导出的源Redis为集群模式时,需要对集群的每个节点逐一执行导出操作,然后再逐一导入到目标Redis中。
使用如下命令导出RDB文件:
./redis-cli -h {redis_address} -p {redis_port} -a {password} --rdb {output.rdb}
执行命令后回显"Transfer finished with success.",表示文件导出成功。
步骤3:上传RDB文件至天翼云ECS
为节省传输时间,请先压缩RDB文件再传输。
将压缩文件(如以SFTP/SCP等方式)上传到天翼云ECS。
说明ECS需保证有足够的磁盘空间,供数据文件存储,同时需要与缓存实例网络互通,通常要求相同VPC和相同子网,且安全组规则不限制访问端口。
步骤4:导入数据
可借助Redis-Shake工具完成数据导入。
步骤5:迁移后验证
数据导入成功后,请连接DCS缓存实例,通过dbsize命令,确认数据是否导入成功
如果导入不成功,需要分析原因,修正导入语句,然后使用flushall或者flushdb命令清理实例中的缓存数据,并重新导入。