上一篇,有朋友留言redis-port,借此机会我尝试使用一下redis-port这个同步工具
redis-port 已编译版
https://github.com/CodisLabs/redis-port/releases cd 到解压目录
redis-dump
定义:持久化数据执行:$ ./redis-dump 127.0.0.1:6999 -o dd/dump.rdb验证
$ ls -ls总用量 44 -rw-r--r-- 1 sunchong sunchong 217 10月 21 17:36 dump.rdb
redis-decode
定义:dumped payload to human readable format (hex-encoding)【反序列化rdb,更加容易理解】 Help:$ ./redis-decode --help
Usage: redis-decode [--ncpu=N] [--input=INPUT|INPUT] [--output=OUTPUT] redis-decode --versionOptions: -n N, --ncpu=N Set runtime.GOMAXPROCS to N. -i INPUT, --input=INPUT Set input rdb encoded file. [default: /dev/stdin]. -o OUTPUT, --output=OUTPUT Set output file. [default: /dev/stdout].Examples: $ redis-decode -i dump.rdb -o dump.log $ redis-decode dump.rdb -o dump.log $ cat dump.rdb | redis-decode --ncpu=8 > dump.log
执行:$ ./redis-decode -i dump.rdb -o stdout
2019/10/21 15:42:40 decode.go:59: [INFO] decode: input = "dump.rdb", output = "stdout"2019/10/21 15:42:40 decode.go:110: [INFO] decode: (r,w,o) = (read,write,objects)2019/10/21 15:42:40 decode.go:135: [INFO] decode: file = 134 - [100.00%] (r,w,o)=(134,114,2) ~ (134,114,-)2019/10/21 15:42:40 decode.go:139: [INFO] decode: done
验证:$ vim stdout {"db":0,"type":"list","key":"right","index":0,"value":"r1"} {"db":0,"type":"string","key":"QBT","value":"value1"}
redis-restore
从 6999 db0 dump.rdb 持久化到 7999 db0 from 127.0.0.1:6999 to 127.0.0.1:7999 执行:$ ./redis-restore -i dump.rdb -t 127.0.0.1:7999
2019/10/21 17:05:39 restore.go:70: [INFO] restore: input = "dump.rdb", aoflog = "" target = "127.0.0.1:7999"2019/10/21 17:05:39 restore.go:126: [INFO] restore: (r,f,s/a,f,s) = (rdb,rdb.forward,rdb.skip/aof,rdb.forward,rdb.skip)2019/10/21 17:05:39 restore.go:155: [INFO] restore: size = 134 - [100.00%, 0.00%] (r,f,s/a,f,s)=(134,0,2/0,0,0) ~ (134,-,-/0,-,-)2019/10/21 17:05:39 restore.go:159: [INFO] restore: done
验证:$ ./redis-restore -i dump.rdb -t 127.0.0.1:7999
127.0.0.1:7999> KEYS *1) "right"2) "QBT"
redis-sync
定义:实例间实时同步 执行:$ ./redis-sync 127.0.0.1:6999 -t 127.0.0.1:7999 验证:
2019/10/21 17:41:16 sync.go:76: [INFO] sync: master = "127.0.0.1:6999", target = "127.0.0.1:7999"2019/10/21 17:41:16 sync.go:109: [INFO] sync: runid = "42d23b2a5d2a4fcce612854174bfc6db89d52cca", offset = 02019/10/21 17:41:16 sync.go:111: [INFO] sync: rdb file = 217 (217)2019/10/21 17:41:16 sync.go:208: [INFO] sync: (r/f,s/f,s) = (read,rdb.forward,rdb.skip/rdb.forward,rdb.skip)2019/10/21 17:41:17 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(217/2,0/0,0) ~ (217/-,-/-,-) ~ speed=(217/2,0/0,0)2019/10/21 17:41:18 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(217/2,0/0,0) ~ (217/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:19 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(217/2,0/0,0) ~ (217/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:20 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(14/0,0/1,0)2019/10/21 17:41:21 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:22 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:23 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:24 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:25 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:26 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:27 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:28 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:29 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(231/2,0/1,0) ~ (231/-,-/-,-) ~ speed=(0/0,0/0,0)2019/10/21 17:41:30 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(245/2,0/2,0) ~ (245/-,-/-,-) ~ speed=(14/0,0/1,0)2019/10/21 17:41:31 sync.go:250: [INFO] sync: rdb = 217 - [100.00%] (r/f,s/f,s)=(245/2,0/2,0) ~ (245/-,-/-,-) ~ speed=(0/0,0/0,0)
源:127.0.0.1:6999
127.0.0.1:6999> SET sc sc1OK127.0.0.1:6999> SET sc sc2OK127.0.0.1:6999> SET sc sc3OK127.0.0.1:6999> SET sc sc4OK127.0.0.1:6999> SET sc sc5OK127.0.0.1:6999>
目标:127.0.0.1:7999
127.0.0.1:7999> get sc"sc5"127.0.0.1:7999>