按旧例,先说些别的。最近帮助公司做了一个投票活动,刚开始没在意写了写逻辑,不过局势瞬息万变,一下子说有几百万的并发(活动的参与者有三个一线歌星,明星)。听到这个顿时哭晕,熬了几天夜,布了tomcat,mysql,redis,nginx,分离登陆与支付代码。。。总之就是各种负载均衡。这对于我这个考生来说是超纲了。没办法,熬了一个礼拜。终于熬到活动结束,还好系统比较稳定,活动顺利举办,通过我们的投票系统,也筹集了几十万的善款。心理一直想说一句。能不能不要这样玩啊。 

回到主题。活动中需要将redis从一个内存8G的服务器迁移到一个内存64G的服务器上。迁移的工具就是redis-dump 和redis-load。下面是安装过程 

一:安装redis-dump  

1、yum install ruby rubygems ruby-devel   //安装rubygems 以及相关包   

2、 gem sources -a https://ruby.taobao.org/ //加入淘宝镜像源 

3、 gem install redis-dump -V

二:redis-dump 导出数据 

redis-dump –u 127.0.0.1:6379 > test.json (导出redis 默认数据库的数据,默认数据库为0) 

如果指定15数据库的数据: 

redis-dump –u 127.0.0.1:6379 –d 15 >test.json

三:redis-load 还原数据 

将test.json 文件上传到新的redis服务器上,进入到test.json目录,执行命令 

< test.json redis-load; 

或者 

cat test.json | redis-load 

如果导出时指定了数据库 

cat test.json | redis-load –d 15

github 地址 

https://github.com/delano/redis-dump/blob/master/bin/redis-dump">​​https://github.com/delano/redis-dump/blob/master/bin/redis-dump​​​