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