新聞中心
Redis集群作為一種分布式的key/value內(nèi)存數(shù)據(jù)庫,它可以滿足企業(yè)級的大數(shù)據(jù)讀取和寫入需求,因此得到了越來越多的應(yīng)用場景。本文將針對Redis集群導(dǎo)入RDB文件,介紹一種利用“shell腳本 + redis-cli”的實(shí)踐方法。

把要導(dǎo)入的RDB文件放在redis實(shí)例的安全目錄下,包括redis節(jié)點(diǎn)安裝的目錄下的指定目錄,如/tmp等,進(jìn)行分別操作:
1.在集群中的每個節(jié)點(diǎn)進(jìn)入redis安裝目錄,啟動redis-server服務(wù),如:
# ./redis-server –port 6378 –protected-mode no –loadmodule ./mymodule.so
2.編寫Shell腳本
#! /bin/bash
#通過指定PORT參數(shù)導(dǎo)入指定RDB文件
Host="127.0.0.1"
Port=$1
Filename=$2
Logfile="import.log" #設(shè)定日志文件
echo "Start to import file $Filename";
#由于Redis-cli執(zhí)行rdb過程中使用copyonwrite,內(nèi)存可能被消耗很多
#在此使用增大內(nèi)存預(yù)分配,可以減少進(jìn)程掛起的概率
/usr/local/redis/bin/redis-cli -h $Host -p $Port --pipe --pipe-timeout 30 -a xxx
CONFIG SET maxmemory 0
CONFIG SET maxmemory-policy allkeys-lru
CONFIG REWRITE
bgrewriteaof
EOF
#接著執(zhí)行rdb導(dǎo)入操作
/usr/local/redis/bin/redis-cli -h $Host -p $Port --pipe --pipe-timeout 30 -a xxx
EOF
#定期把日志記錄到日志文件
echo "$Filename finished" >> $Logfiles
3.運(yùn)行Shell腳本
完成shell腳本的編寫后,運(yùn)行腳本,可以一次性向redis集群導(dǎo)入rdb文件,如:
# ./import.sh 6379 dump.rdb
4.檢查結(jié)果
腳本執(zhí)行完后,可以登錄查看Redis集群中數(shù)據(jù)是否和RDB文件中一致:
# ./redis-cli -c -h 127.0.0.1 -p 6379
如果結(jié)果正確,說明Redis集群中已經(jīng)包含RDB文件中所有的鍵值對,RDB文件成功導(dǎo)入了Redis集群中。
以上是本文介紹的利用“shell腳本 + redis-cli”的實(shí)踐方法,可以用于Redis集群導(dǎo)入RDB文件的操作。通過本文的介紹,應(yīng)用開發(fā)人員可以明白執(zhí)行RDB文件導(dǎo)入Redis集群的步驟,并更好地調(diào)整腳本來實(shí)現(xiàn)更高效的導(dǎo)入操作。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽、重慶、貴陽機(jī)房服務(wù)器托管租用。
新聞標(biāo)題:使用Redis集群導(dǎo)入RDB文件的實(shí)踐(redis集群導(dǎo)入rdb)
分享路徑:http://m.fisionsoft.com.cn/article/dhhcsse.html


咨詢
建站咨詢
