方法一、
第一步、先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