redis數據導入導出

redis即遠程字典服務,是一個開源的使用ANSI c語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。

redis數據導入導出

幾種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

redis數據導入導出

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

redis數據導入導出

?二、aof方式導入

redis數據導入導出

?三、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教程欄目。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享