Redis数据迁移工具redis-shake的使用

1.简介

Redis-shake是阿里开源的使用golang语言开发的Redis数据同步工具,支持redis standalone、sentinel、cluster。

 github地址 https://github.com/alibaba/RedisShake

 支持的迁移模式:

decode: 把Redis RDB文件解析成人类可读的文件格式.

restore: 把Rdis RDB文件作为数据源,恢复到目标Redis实例中.

dump: 对源Redis实例中的数据dump到RDB文件中.

sync: 基于Redis sync/psync命令从源redis实例同步到目标Redis实例,该模式包含全量同步和增量同步两个阶段。(通过认Redis Slave来实现).

rump: 基于Redis scan命令的方式从源Redis同步到目标Redis实例。只支持全量同步,这种方式通常适用于源redis不支持sync/psync命令的场景.

 

2.下载

wget  https://github.com/alibaba/RedisShake/releases/download/release-v2.1.1-20210903/release-v2.1.1-20210903.tar.gz    //下载

tar zxvf release-v2.1.1-20210903.tar.gz //解压

 解压之后会看到以下文件,我们一般只会用到redis-shake.conf

 

3.配置文件修改

单个节点到单个节点restore模式配置文件修改:

log.file =/opt/redis-shake/redis-shake.log      //工具运行日志文件路径

http_profile = -1                              //查看 metric 端口, -1 表示不启用. 如果是`restore`模式,只有设置为-1才会在完成RDB恢复后退出,否则会一直block。
source.address = 192.168.79.151:6379 //源端IP地址和端口 source.rdb.input = /mnt/data/redis/dump.rdb //源端RDB文件路径 target.address = 192.168.79.146:6379 //目的端IP地址和端口 target.rdb.output = /mnt/data/redis/redisdump.rdb //目的端RDB文件的存放路径 key_exists = rewrite //当源端和目的段有相同的key时,是否进行覆盖,“rewrite”表示覆盖目的段的key值

 

 

4.执行启动命令:

./redis-shake.linux -type=restore -conf=redis-shake.conf     //restore模式

 

 

 

 

 

相关文章

在笔者近 3 年的 Java 一线开发经历中,尤其是一些移动端、用...
这一篇文章拖了有点久,虽然在项目中使用分布式锁的频率比较...
本文梳理总结了一些 Java 互联网项目中常见的 Redis 缓存应用...
书接上回,消息通知系统(notification-system)作为一个独立...
Redis 是目前互联网后端的热门中间件之一,在许多方面都有深...
在Java Spring 项目中,数据与远程数据库的频繁交互对服务器...