redis单独库数据迁移测试
http://download.redis.io/releases/redis-5.0.0.tar.gz
[root@vm ~]# yum -y install gcc make perf
[root@vm ~]# tar xf redis-5.0.0.tar.gz
[root@vm ~]# cd redis-5.0.0/
[root@vm redis-5.0.0]# make && make install
[root@vm redis-5.0.0]# vim redis.conf
daemonize yes
requirepass 123456
[root@vm redis-5.0.0]# redis-server redis.conf
[root@vm redis-5.0.0]# ps -ef | grep redis
[root@vm redis-5.0.0]# redis-cli -h 127.0.0.1 -a 123456 ping
PONG
[root@vm redis-5.0.0]# for i in {1..100};do redis-cli -h 127.0.0.1 -a 123456 -n 0 set name$i test$i;done
[root@vm redis-5.0.0]# redis-cli -h 127.0.0.1 -a 123456 -n 0 get name88
"test88"
0库移动到1库
[root@vm redis-5.0.0]# redis-cli -h 127.0.0.1 -a 123456 -n 0 keys '*' | xargs -I '{}' redis-cli -a 123456 -n 0 move '{}' 1
[root@vm redis-5.0.0]# redis-cli -h 127.0.0.1 -a 123456 -n 0 keys "*"
(empty list or set)
[root@vm redis-5.0.0]# redis-cli -h 127.0.0.1 -a 123456 -n 1 get name88
"test88"
1库复制到0库
[root@vm redis-5.0.0]# redis-cli -h 127.0.0.1 -p 6379 -a 123456 -n 1 keys "*" | while read key; do redis-cli -h 127.0.0.1 -p 6379 -a 123456 -n 1 --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h 127.0.0.1 -p 6379 -a 123456 -n 0 -x restore $key 0; echo "copy $key"; done
[root@vm redis-5.0.0]# redis-cli -a 123456 -n 0 keys "*"|head -n2
name77
name86
[root@vm redis-5.0.0]# redis-cli -a 123456 -n 1 keys "*"|head -n2
name77
name86