时间:2021-05-02
前言
在工作中可能会遇到单点Redis向Redis集群迁移数据的问题,但又不能老麻烦运维来做。为了方便研发自己迁移数据,我这里写了一个简单的Redis迁移工具,希望对有需要的人有用。
本工具支持:
该工具已经编译成了多平台命令,直接从Github下载二进制文件执行就好了。
项目地址: https://github.com/icowan/redis-tool
把代码拉下来之后直接执行命令 make 就可以编译多个平台可执行文件,需要依赖golang编译器。
查看使用方法:
? 1 2 $ chmod a+x redis-tool-linux-amd64 $ ./redis-tool-linux-amd64 -h支持的数据类型
如何使用
下载好命令并授权之后执行 ./redis-tool-linux-amd64 -h 可以查看该工具所支持的所有功能:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 $ ./redis-tool-darwin-amd64 migrate -h 数据迁移命令 Usage: redis-tool migrate [command] Examples: 支持命令: [hash, set, sorted-set, list] Available Commands: all 迁移所有 hash 哈希列表迁移 list 列表迁移 set redis set 迁移 sorted-set 有序集合迁移 Flags: -h, --help help for migrate --source-auth string 源密码 --source-database int 源database --source-hosts string 源redis地址, 多个ip用','隔开 (default "127.0.0.1:6379") --source-prefix string 源redis前缀 --source-redis-cluster 源redis是否是集群 --target-auth string 目标密码 --target-database int 目标database --target-hosts string 目标redis地址, 多个ip用','隔开 (default "127.0.0.1:6379") --target-prefix string 目标redis前缀 --target-redis-cluster 目标redis是否是集群 Use "redis-tool migrate [command] --help" for more information about a command.参数说明:
迁移单个key的数据
下面就举两个例子吧,其他的都差不太多。
Hash类型
可以通过命令 redis-tool migrate hash -h 查看使用说明
? 1 2 3 4 5 $ redis-tool migrate hash helloworld \ --source-hosts 127.0.0.1:6379 \ --target-redis-cluster true \ --target-hosts 127.0.0.1:6379,127.0.0.1:7379 \ --target-auth 123456
有序集合
可以通过命令 redis-tool migrate sorted-set -h 查看使用说明
有序集合的数据量可能会比较大,所以这里按 50000 为单位进行了切割。我这里测试过迁移近17000000万条的数据,用时40多分钟。
? 1 2 3 4 5 $ redis-tool migrate hash helloworld \ --source-hosts 127.0.0.1:6379 \ --target-redis-cluster true \ --target-hosts 127.0.0.1:6379,127.0.0.1:7379 \ --target-auth 123456
迁移所有key的数据支持通配符过滤
可以通过命令 redis-tool migrate all -h 查看使用说明
? 1 2 3 4 5 $ redis-tool migrate all "ipdetect:*" \ --source-hosts 127.0.0.1:6379 \ --target-redis-cluster true \ --target-hosts 127.0.0.1:6379,127.0.0.1:7379 \ --target-auth 123456这个命令会编译匹配到的所有类型的key,再根据key的类型进行逐步迁移。
尾巴
使用golang写的一个比较简单的工具, 主要用于在Redis没有持久化或多套Redis向一套Redis迁移的情况下使用。
总结
到此这篇关于Redis migrate数据迁移工具的文章就介绍到这了,更多相关Redis migrate数据迁移工具内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://mp.weixin.qq.com/s/wC9ppYaVjFfX2wQWYs3HsA
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
RAILS_ENV=productionbundleexecrakedb:migrate--trace在执行上面这个命令迁移数据库时,总是报错误:psych.r
本文实例讲述了php实现redis数据库指定库号迁移的方法,分享给大家供大家参考。具体如下:redis普通的数据库迁移,只能整个redissave,或者利用主从
migrate文件记录了每一次数据迁移的改变解决方法:重建数据库1.删除数据库错误方法:pythonmanage.pyshellfromapp.modelsim
说明:这里包含迁移Migrate和升级Upgrade两个动作,为了保留SQL所有设置,升迁要包括master和msdb两个数据库。步骤1:在服务器B上安装SQL
在python3爬虫中如何我们想要导入/导出Redis数据,就要安装使用RedisDump。RedisDump是一个用于Redis数据导入/导出的工具,可以将r