Redis Slaveof 命令可以將當(dāng)前服務(wù)器轉(zhuǎn)變?yōu)橹付ǚ?wù)器的從屬服務(wù)器(slave server)。
如果當(dāng)前服務(wù)器已經(jīng)是某個(gè)主服務(wù)器(master server)的從屬服務(wù)器,那么執(zhí)行 SLAVEOF host port 將使當(dāng)前服務(wù)器停止對(duì)舊主服務(wù)器的同步,丟棄舊數(shù)據(jù)集,轉(zhuǎn)而開始對(duì)新主服務(wù)器進(jìn)行同步。
另外,對(duì)一個(gè)從屬服務(wù)器執(zhí)行命令 SLAVEOF NO ONE 將使得這個(gè)從屬服務(wù)器關(guān)閉復(fù)制功能,并從從屬服務(wù)器轉(zhuǎn)變回主服務(wù)器,原來同步所得的數(shù)據(jù)集不會(huì)被丟棄。
利用『 SLAVEOF NO ONE 不會(huì)丟棄同步所得數(shù)據(jù)集』這個(gè)特性,可以在主服務(wù)器失敗的時(shí)候,將從屬服務(wù)器用作新的主服務(wù)器,從而實(shí)現(xiàn)無間斷運(yùn)行。
redis Slaveof 命令基本語法如下:
redis 127.0.0.1:6379> SLAVEOF host port
>= 1.0.0
總是返回 OK 。
redis 127.0.0.1:6379> SLAVEOF 127.0.0.1 6379 OK redis 127.0.0.1:6379> SLAVEOF NO ONE OK