Redis数据迁移

## 引言 随着技术与业务的发展,我们一开始使用的Redis版本或者模式,肯定会被替换或版本升级。这种事件的发生是不可避免的,发生此种情况后,肯定需要做数据迁移,那么在迁移的过程中,怎么保证数据不丢失呢,下面就介绍一款Redis数据迁移工具**redis-shake** --- ### 下载 `wget 'http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120287/cn_zh/1608173646665/redis-shake-v2.0.3.tar.gz'` 使用`wget`指令直接下载,或者再47(47.115.13.44)服务器上的`resource`目录下面找到。 ### 安装 下载完成后,直接到你的服务器自定目录下。解压该文件。 ### 配置 解压完成后,需要修改几处配置 ``` source.type = standalone # 源节点的模式 source.address = 120.27.208.123:6379 # 源节点地址 source.password_raw = source_pass # 源节点访问密码 target.type = cluster # 目标节点模式 target.address = 127.0.0.1:6001;127.0.0.1:6002;127.0.0.1:6003 # 目标节点(集群)主节点ip:port target.password_raw = target_pass # 目标节点访问密码 ``` ### 执行 配置文件修改完成后,执行启动指令 `./redis-shake/redis-shake.linux -type=sync -conf=./redis-shake/redis-shake.conf` ![image.png](https://cos.easydoc.net/85829285/files/krhjyqm3.png) **上图中展示的是全量迁移,即已有数据的迁移。** ![image.png](https://cos.easydoc.net/85829285/files/krhjyzn7.png) **上图中展示的是增量迁移,即实时产生的数据的迁移。** 等待返回日志中writeBytes对应值连续多次为0时,使用++Ctrl+C++组合键停止运行Redis-shake。 --- 至此,源目标和新建目标的数据完全一致。可以切换上述Redis实例了。