redis的备份和还原,借助了第三方的工具,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
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 11 [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 [root@localhost tank]# < 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://blog.51yip.com/nosql/1656.html
如果redis有密码呢,这个工具是不是没法加密码啊 我看了这个工具的几个参数 没有说可以加密码这一说
查了下 这样可以加密码
redis-dump -u :password@xxx.xxx.xxx.xxx:6379 > redis.json
导出时很快返回“ Connection timed out“ , redis无密码,求解!
如果redis有密码,导入的时候如下:
< test.json redis-load -u :123456@127.0.0.1:6379