?
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
CLUSTER ADDSLOTS slot [slot ...]
自3.0.0起可用。
時間復雜度: O(N)其中N是散列槽參數(shù)的總數(shù)
此命令對于修改節(jié)點的群集配置視圖很有用。具體來說,它將一組散列槽分配給接收該命令的節(jié)點。如果命令成功,節(jié)點將把指定的散列槽映射到自己,并開始廣播新的配置。
但,請注意:
1. 僅當從接收命令的節(jié)點的角度來看,所有指定的插槽當前未分配時,該命令才起作用。節(jié)點將拒絕對已經(jīng)屬于某個其他節(jié)點(包括它自己)的插槽擁有所有權。
2. 如果多次指定同一個插槽,則命令失敗。
3. 作為命令執(zhí)行的副作用,如果將指定為參數(shù)的插槽中的插槽設置為importing
,則一旦節(jié)點將(先前未綁定的)插槽分配給其自身,則將清除該狀態(tài)。
例如,以下命令將插槽1 2 3分配給接收該命令的節(jié)點:
> CLUSTER ADDSLOTS 1 2 3OK
但是,嘗試再次執(zhí)行它會導致錯誤,因為已經(jīng)分配了插槽:
> CLUSTER ADDSLOTS 1 2 3ERR Slot 1 is already busy
該命令僅適用于集群模式,在以下 Redis 集群操作中很有用:
1. 創(chuàng)建一個新的集群 ADDSLOTS 用于初始設置主節(jié)點拆分它們之間的可用哈希槽。
2. 為了修復某些插槽未分配時損壞的群集。
請注意,一旦節(jié)點為其自身分配一組插槽,它將開始在心跳包頭中傳播此信息。但是,其他節(jié)點只有在插槽尚未與另一個節(jié)點綁定的情況下,或者通告新散列插槽的節(jié)點的配置歷元大于表中當前列出的節(jié)點時才會接受信息。
這意味著這個命令只應該被管理 Redis 集群的應用程序所關注,比如redis-trib
,如果在正確的上下文中使用該命令會使集群處于錯誤狀態(tài)或導致數(shù)據(jù)丟失。
簡單的字符串回復:OK
如果命令成功。否則會返回錯誤。