一、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
1) "dir"
2) "/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> [Ctrl + d] # 退出

这个时候我们可以在redis的文件存放目录 /var/lib/redis 目录下看到刚刚备份的dump.rdb文件 2、目标服务器 登录目标redis服务器,我们先停止redis服务: service redis stop    # 停止redis服务

然后进入redis的文件存放目录/var/lib/redis,把刚刚备份的dump.rdb文件替换该目录下的dump.rdb文件 (建议先备份当前目录下的dump.rdb文件),重启redis服务 service redis start #启动redis服务 到此,redis数据迁移完成

二、aof方式导入

1133448-20190606104721484-1828635049.png

三、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

22.png gpg2 --keyserver hkp:// --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB 再执行一遍:

[root@docker ~]# source /etc/profile.d/
[root@docker ~]# rvm -vrvm 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

11.png

参考链接: 三种redis数据导出导入方式

推荐使用第一种!