方法一、

  第一步、先redis-cli 进去后bgsave下数据将数据存储到磁盘对应文件dump.rdb中。如果是只存内存的请先做对应的存储设置(修改redis.conf中的save 等参数)

 第二步、 ps -ef|grep redis 找到对应的进程,kill掉。

 第三步、 找到dump.rdb 备份下并拷贝一份到要导入的redis机器

 第四步、kill掉导入机器的对应redis端口,将原rdb文件移除(移除前请自行备份),将第三步导过来的文件替换掉对应的rdb文件。

第五步、启动对应的redis端口,便可以看到导入的新的数据了

 

拓展:备份redis数据时候也是同样的,先bgsave 然后再备份对应的文件

 

方法二、借助了第三方的工具redis-dump

1,安装redis-dump

[root@localhost tank]# yum install ruby rubygems ruby-devel   //安装rubygems 以及相关包

#这一步可以省略,亲测速度还可以 [root@localhost tank]# gem sources -a http://ruby.taobao.org/ //源,加入淘宝,外面的源不能访问 http://ruby.taobao.org/ added to sources [root@localhost tank]# gem install redis-dump -V //安装redis-dump

两个命令:

redis-dump -u 127.0.0.1:6379 > db.json //导出数据
redis-load -u 127.0.0.1:6379 < test.json redis-load //导入数据
 

2,redis-dump导出数据

[root@localhost tank]# telnet 127.0.0.1 6379 //telnet到redis
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set test 11 //设置一个值
+OK
get test //取值
$2


[root@localhost tank]# redis-dump -u 127.0.0.1:6379 >test.json //导出数据

3,redis-load还原数据

[root@localhost tank]# telnet 127.0.0.1 6379 //telnet到redis
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
flushall //请空所有数据
+OK
keys * //查看已清空
*0

redis-dump -u 127.0.0.1:6379 > db.json //导出数据
redis-load -u 127.0.0.1:6379 < test.json redis-load //导入数据


[root@localhost tank]# telnet 127.0.0.1 6379 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. keys * //已导入成功 *1 $4 test
posted on 2016-09-08 13:37  mynetstudy  阅读(11443)  评论(1编辑  收藏  举报