redis 导出 导入 详解

方法一、

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

点赞

 

详细地址:http://delanotes.com/redis-dump/

 

 

 

 

    原文作者:redis
    原文地址: https://www.cnblogs.com/dasn/articles/5852759.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞