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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM