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、目標伺服器
登入目標redis伺服器,我們先停止redis服務:
service redis stop #停止redis服务
#然後進入redis的檔案存放目錄/var/lib/redis,把剛剛備份的dump.rdb檔案替換該目錄下的dump.rdb檔案
(建議先備份目前目錄下的dump.rdb檔案) ,重啟redis服務
service redis start #启动redis服务
到此,redis資料遷移完成。
更多redis知識請關注PHP中文網redis教學欄位。
以上是redis資料導入匯出的詳細內容。更多資訊請關注PHP中文網其他相關文章!