推薦博客鏈接:https://www.cnblogs.com/hjfeng1988/p/7146009.html
https://blog.csdn.net/qq_14945847/article/details/77986900
***建議使用最后一種***
一、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 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> #退出 這個時候我們可以在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數據遷移完成