很多人都用过redis,但很多人的工作除了开发,还有运维,糟心的事哪里都有,这里记一下我在迁移redis的时候用到的一款工具,个人觉得很方便,重要的内容要打括号【redis-shake】,下载就不提供了,网上一大片,这里讲讲配置,打开目录下的redis-shake.conf文件,按照节奏,
#配置源地址
source.address = 192.168.1.1:6379
source.auth_type = auth
#配置源密码
source.password_raw = 123456
#配置目标地址
target.address = 192.168.1.2:6379
target.auth_type = auth
#配置目标库索引
target.db = 1
# 当源目的有重复key,是否进行覆写
rewrite = true
# 指定的db被通过,比如0;5;10将会使db0, db5, db10通过, 其他的被过滤
filter.db.whitelist = 0
# 指定的db被过滤,比如0;5;10将会使db0, db5, db10过滤,其他的被通过
filter.db.blacklist =
重要的都配置好了,其它的默认就行,
启动
启动二进制:./redis-shake.linux -conf=redis-shake.conf -type=xxx
# xxx为sync, restore, dump, decode, rump其中之一,全量+增量同步请选择sync。 mac下请使用redis-shake.darwin,windows请用redis-shake.windows.
支持的迁移模式
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命令的场景
sync相比rump模式来说性能较好,通用性较差,一般来说sync模式使用的相对来说更多一些
下载地址:redis-shake.rar