<<造轮子>>一个Redis数据同步迁移命令工具

一个Redis数据同步迁移命令工具

分享一个自己写的redis数据同步工具, 用于个人开发过程中的从不同库之间迁移数据使用。需要的可以用用看,好不好使用了才知道。

在这里插入图片描述

用法

编写了两种数据同步模式:

  1. 批量迁移key到不同库: 此模式中根据 pattern 规则,将匹配的key列表自动根据类型将数据迁移到目标库中,为防止如set/zset/list等类型key的数据过大,限制单次同步数据最多 maxCount条。
  2. 单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

结尾

一个简单的命令而已,个人开发用用吧,生产库上就不要乱搞了,不该用的第三方工具还是别用了。

责任声明: 都告诉你不能用生产库了,出问题了可别找我来呀!

猜你喜欢

转载自blog.csdn.net/dragonballs/article/details/126541134
今日推荐