溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Redis在線互相切換主從的實例分享

發(fā)布時間:2020-03-27 11:02:58 來源:億速云 閱讀:356 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

今天小編給大家分享的是Redis在線互相切換主從的實例,很多人都不太了解,今天小編為了讓大家更加了解Redis,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會有所收獲的哦。Redis在線互相切換主從的實例分享

由于某些原因,我們可能需要將redis master更換機(jī)器,我們可以停機(jī)進(jìn)行更換,但是那樣可能影響到用戶體驗。本文簡要操作進(jìn)行不停機(jī)遷移。

系統(tǒng)環(huán)境

CentOS 6.3 x64

redis-server 2.6.16

機(jī)器兩臺s1\s2

操作步驟

1、我們在新redis服務(wù)器上,啟動一個redis實例,配置和master配置一致,不同的是配置文件中修改并啟用 slave-read-only no,

讓slave 能寫,因為 “Since Redis 2.6 by default slaves are read-only.”

2、讓新redis成為slave:redis 127.0.0.1:6379>SLAVEOF s1 6379

然后可以查看s2上的log,會有大量的同步信息,也可以使用info命令查看狀態(tài)。

3、s2完全同步s1的數(shù)據(jù)后,我們修改游戲app的redis ip,改為s2的ip。

4、查看游戲是否正常。

5、以上沒有問題后,在s2上執(zhí)行 redis 127.0.0.1:6379> SLAVEOF NO ONE

6、下線s1

PS:

SLAVEOF host port

SLAVEOF 命令用于在 Redis 運(yùn)行時動態(tài)地修改復(fù)制(replication)功能的行為。

通過執(zhí)行 SLAVEOF host port 命令,可以將當(dāng)前服務(wù)器轉(zhuǎn)變?yōu)橹付ǚ?wù)器的從屬服務(wù)器(slave server)。

如果當(dāng)前服務(wù)器已經(jīng)是某個主服務(wù)器(master server)的從屬服務(wù)器,那么執(zhí)行 SLAVEOF host port 將使當(dāng)前服務(wù)器停止對舊主服務(wù)器的同步,丟棄舊數(shù)據(jù)集,轉(zhuǎn)而開始對新主服務(wù)器進(jìn)行同步。

另外,對一個從屬服務(wù)器執(zhí)行命令 SLAVEOF NO ONE 將使得這個從屬服務(wù)器關(guān)閉復(fù)制功能,并從從屬服務(wù)器轉(zhuǎn)變回主服務(wù)器,原來同步所得的數(shù)據(jù)集不會被丟棄。

利用『 SLAVEOF NO ONE 不會丟棄同步所得數(shù)據(jù)集』這個特性,可以在主服務(wù)器失敗的時候,將從屬服務(wù)器用作新的主服務(wù)器,從而實現(xiàn)無間斷運(yùn)行。

可用版本:

>= 1.0.0

時間復(fù)雜度:

SLAVEOF host port ,O(N), N 為要同步的數(shù)據(jù)數(shù)量。

SLAVEOF NO ONE , O(1) 。

返回值:

總是返回 OK 。

以上就是Redis在線互相切換主從的實例的簡略介紹,當(dāng)然詳細(xì)使用上面的不同還得要大家自己使用過才領(lǐng)會。如果想了解更多,歡迎關(guān)注億速云行業(yè)資訊頻道哦!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI