分布式缓存服务 DCS-使用Redis-cli离线迁移自建Redis(RDB文件):导出RDB文件
导出RDB文件
- 导出前准备。
对于主备或集群实例,数据写入RDB文件有一定的时延,时延策略配置在redis.conf文件中。建议先了解待迁移Redis实例的RDB策略配置,然后暂停业务系统并向Redis实例写入满足数量条件的测试数据,确保RDB文件为最新生成。
例如,redis.conf中对RDB的默认策略配置如下:
save 900 1 //900秒内有数据变更则写入RDB文件 save 300 10 //300秒内有10条以上数据变更则写入RDB文件 save 60 10000 //60秒内有10000条以上数据变更则写入RDB文件
因此,可以参考以上数据写入RDB的策略,在停止业务系统后,向Redis实例写入一定数量的测试数据,触发策略并写入RDB文件,确保业务数据均已同步到RDB文件中。
测试数据可以在导入后删除。
- 如果有某个数据库没有被业务系统使用,可以将测试数据写入该数据库,待导入D CS 后,使用flushdb命令清空该数据库。
- 单机实例如果不做持久化配置,则RDB文件需要临时生成,导出耗时较主备实例相比稍多一些。
- 登录弹性云服务器。
- 安装Redis-cli客户端。该操作以客户端安装在Linux系统上为例进行说明。
- 执行如下命令下载Redis。您也可以安装其他Redis版本。具体操作,请参见Redis官网。
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
- 执行如下命令,解压Redis客户端源码包。
tar -xzf redis-5.0.8.tar.gz
- 进入Redis目录并编译Redis客户端源码。
cd redis-5.0.8 make cd src
- 执行如下命令下载Redis。您也可以安装其他Redis版本。具体操作,请参见Redis官网。
- 使用如下命令导出RDB文件:
redis-cli -h {source_redis_address} -p {port} -a {password} --rdb {output.rdb}
{source_redis_address}为源Redis的连接地址,{port}为源Redis的端口,{password}为源Redis的连接密码,{output.rdb}为RDB文件名。
执行命令后回显"Transfer finished with success.",表示文件导出成功。