三種redis數據導出導入方式

推薦博客連接:https://www.cnblogs.com/hjfeng1988/p/7146009.htmlhtml

                       https://blog.csdn.net/qq_14945847/article/details/77986900redis

 

***建議使用最後一種***docker

1、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 7D2BAF1CF37B13E2069D6956105BD0E739499BDBjson

再執行一遍:api

[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

 列出已知的ruby包並安裝bash

[root@docker ~]# rvm list known
[root@docker ~]# rvm install 2.4

安裝redis-dump服務器

gem install redis-dump -V

導入與導出curl

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

 2、aof方式導入ui

 

 3、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文件

 

二、目標服務器

登陸目標redis服務器,咱們先中止redis服務:
service redis stop  #中止redis服務

而後進入redis的文件存放目錄/var/lib/redis,把剛剛備份的dump.rdb文件替換該目錄下的dump.rdb文件
(建議先備份當前目錄下的dump.rdb文件),重啓redis服務
service redis start #啓動redis服務
到此,redis數據遷移完成
相關文章
相關標籤/搜索