一个Redis数据同步迁移命令工具
分享一个自己写的redis数据同步工具, 用于个人开发过程中的从不同库之间迁移数据使用。需要的可以用用看,好不好使用了才知道。
用法
编写了两种数据同步模式:
- 批量迁移key到不同库: 此模式中根据 pattern 规则,将匹配的key列表自动根据类型将数据迁移到目标库中,为防止如set/zset/list等类型key的数据过大,限制单次同步数据最多
maxCount
条。 - 单key同步模式: 此模式用于: 数据同步srckey 到 dstkey 中 ,合并多srckey数据为同一个dstkey中。
下面是命令使用提示信息:
$ redis_tool -h
功能说明:
支持redis全类型数据迁移工具
使用方法:
批量key跨库拷贝: redis_tool -src source -dst destination -p pattern
单Key重命名拷贝: redis_tool -src source -dst destination -r srckey,dstkey
参数说明:
-src : 原始库redis的地址,默认: redis://localhost:6379/0
-dst : 目标库redis的地址,默认: 空
-d|-delete : 是否删除redis的数据,默认不删除,请谨慎使用!,默认: false
-maxCount : 单次SCAN提取的记录数,防止数据量过多导致redis连接超时,默认: 100
-p|-pattern : 批量key跨库拷贝。redis的key的匹配规则,默认: 空, 可以使用通配符: *,?,例如: xxx*
-r|-rename : 单Key重命名拷贝式。重命名redis的srckey和dstkey,冒号分隔,默认: 空,例如 srckey,dstkey
安装redis_tool
使用go命令在线安装命令:
$ go install github.com/learnhard-cn/redis_tool@latest
提示:安装到哪里了呢?
使用
go env | grep -E 'GOBIN|GOPATH'
查看设置路径,GOBIN
路径设置了就会存放在这里,当然,最简单的命令是
which redis_tool
立刻会告诉你它的位置。
源代码
代码用Go语言编写,已经放在了Github上,如果你想要自己修改增加新功能,可以fork。
Github源码地址: redis_tool
结尾
一个简单的命令而已,个人开发用用吧,生产库上就不要乱搞了,不该用的第三方工具还是别用了。
责任声明: 都告诉你不能用生产库了,出问题了可别找我来呀!