1. 程式人生 > >redis叢集操作

redis叢集操作

一、redis cluster 命令列

//叢集(cluster)
CLUSTER INFO 列印叢集的資訊
CLUSTER NODES 列出叢集當前已知的所有節點(node),以及這些節點的相關資訊。
//節點(node)
CLUSTER MEET 將 ip 和 port 所指定的節點新增到叢集當中,讓它成為叢集的一份子。
CLUSTER FORGET 從叢集中移除 node_id 指定的節點。
CLUSTER REPLICATE 將當前節點設定為 node_id 指定的節點的從節點。
CLUSTER SAVECONFIG 將節點的配置檔案儲存到硬盤裡面。
//槽(slot)
CLUSTER ADDSLOTS [slot …] 將一個或多個槽(slot)指派(assign)給當前節點。
CLUSTER DELSLOTS [slot …] 移除一個或多個槽對當前節點的指派。
CLUSTER FLUSHSLOTS 移除指派給當前節點的所有槽,讓當前節點變成一個沒有指派任何槽的節點。
CLUSTER SETSLOT NODE 將槽 slot 指派給 node_id 指定的節點,如果槽已經指派給另一個節點,那麼先讓另一個節點刪除該槽>,然後再進行指派。
CLUSTER SETSLOT MIGRATING 將本節點的槽 slot 遷移到 node_id 指定的節點中。
CLUSTER SETSLOT IMPORTING 從 node_id 指定的節點中匯入槽 slot 到本節點。
CLUSTER SETSLOT STABLE 取消對槽 slot 的匯入(import)或者遷移(migrate)。
//鍵 (key)
CLUSTER KEYSLOT 計算鍵 key 應該被放置在哪個槽上。
CLUSTER COUNTKEYSINSLOT 返回槽 slot 目前包含的鍵值對數量。
CLUSTER GETKEYSINSLOT 返回 count 個 slot 槽中的鍵。

例如可以用下面的命令檢視叢集的狀態

[[email protected] src]# ./redis-trib.rb check 127.0.0.1:7000

二、節點操作

有兩種方法新增從節點,可以像新增主節點一樣使用redis-trib 命令,也可以像下面的例子一樣使用 - -slave選項:

./redis-trib.rb add-node - -slave 127.0.0.1:7006 127.0.0.1:7000

此處的命令和新增一個主節點命令類似,此處並沒有指定新增的這個從節點的主節點,這種情況下系統會在其他的複製集中的主節點中隨機選取一個作為這個從節點的主節點。
你可以通過下面的命令指定主節點:

./redis-trib.rb add-node –slave –master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e 127.0.0.1:7006 127.0.0.1:7000

移除一個節點
只要使用 redis-tribdel-node 命令即可:

./redis-trib del-node 127.0.0.1:7000 <node-id>