redis数据导入导出
Redis即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
几种redis数据导入导出的方法:
一、redis-dump方式
#redis-dump安装 yum install ruby rubygems ruby-devel -y gem sources --add http://gems.ruby-china.com/ --remove https://rubygems.org/ [root@docker ~]# gem sources -l *** CURRENT SOURCES *** http://gems.ruby-china.com/ #确定只剩这一个 [root@docker ~]# curl -L get.rvm.io | bash -s stable
gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB 再执行一遍: [root@docker ~]# source /etc/profile.d/rvm.sh [root@docker ~]# rvm -v rvm 1.29.8 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
列出已知的ruby包并安装:
[root@docker ~]# rvm list known [root@docker ~]# rvm install 2.4
安装redis-dump
gem install redis-dump -V
导入与导出
redis-dump导出 [root@ ~]# redis-dump -u :password@172.20.0.1:6379 > 172.20.0.1.json redis-load导入 [root@ ~]# cat 172.20.0.1.json | redis-load -u :password@172.20.0.2:6379
二、aof方式导入
三、rdb文件迁移方式
1. 原redis服务器
登录redis服务器,然后通过redis的客户端进行连接redis,命令如下:
[root@ ~]# redis-cli 127.0.0.1:6379>
注释:如果没有将redis-cli安装成服务,可以进入redis的src目录下进行客户端的连接
连接成功后,我们可以通过下面的命令找到redis的文件存放目录
127.0.0.1:6379> CONFIG GET dir "dir" "/var/lib/redis" 127.0.0.1:6379>
注释:在/var/lib/redis下
下面我们查看一下redis数据备份的触发条件,查看redis配置文件/ect/redis.conf ,可以看到redis数据备份的触发条件为:
save 900 1 #900秒内至少有1个key被更改,进行备份
save 300 10 #300秒内至少有300个key被更改,进行备份
save 60 10000 #60秒内至少有10000个key被更改,进行备份
我们可以通过 save的方式直接对此时的数据进行备份,命令如下:
[root@ ~]# redis-cli 127.0.0.1:6379> save #数据备份 127.0.0.1:6379> #退出
这个时候我们可以在redis的文件存放目录/var/lib/redis目录下看到刚刚备份的dump.rdb文件
2、目标服务器
service redis stop #停止redis服务
然后进入redis的文件存放目录/var/lib/redis,把刚刚备份的dump.rdb文件替换该目录下的dump.rdb文件
(建议先备份当前目录下的dump.rdb文件),重启redis服务
service redis start #启动redis服务
到此,redis数据迁移完成。
以上就是redis数据导入导出的详细内容,更多请关注其它相关文章!