Redis cluster 叢集命令合集
一.常用命令
列印叢集的資訊
CLUSTER INFO
列出叢集當前已知的所有節點(node),以及這些節點的相關資訊。
CLUSTER NODES
檢查叢集狀態
src/redis-trib.rb check 127.0.0.1:7000
將節點的配置檔案儲存到硬盤裡面。
CLUSTER SAVECONFIG
返回一個master節點的slaves 列表
CLUSTER SLAVES node-id
計算鍵 key 應該被放置在哪個槽上。
CLUSTER KEYSLOT <key>
返回槽 slot 目前包含的鍵值對數量。
CLUSTER COUNTKEYSINSLOT <slot>
返回 count 個 slot 槽中的鍵。
CLUSTER GETKEYSINSLOT <slot> <count>
二.操作命令
將一個或多個槽(slot)指派給當前節點。
cluster addslots {0...5461}
將 ip 和 port 所指定的節點新增到叢集當中,讓它成為叢集的一份子。
CLUSTER MEET <ip> <port>
從叢集中移除 node_id 指定的節點。
CLUSTER FORGET <node_id>
將當前節點設定為 node_id 指定的節點的從節點。
CLUSTER REPLICATE <node_id>
將一個或多個槽(slot)指派(assign)給當前節點。
CLUSTER ADDSLOTS <slot> [slot ...]
移除一個或多個槽對當前節點的指派。CLUSTER FLUSHSLOTS 移除指派給當前節點的所有槽,讓當前節點變成一個沒有指派任何槽的節點。
CLUSTER DELSLOTS <slot> [slot ...]
將槽 slot 指派給 node_id 指定的節點。
CLUSTER SETSLOT <slot> NODE <node_id>
將本節點的槽 slot 遷移到 node_id 指定的節點中。
CLUSTER SETSLOT <slot> MIGRATING <node_id>
從 node_id 指定的節點中匯入槽 slot 到本節點。
CLUSTER SETSLOT <slot> IMPORTING <node_id>
取消對槽 slot 的匯入(import)或者遷移(migrate)。
CLUSTER SETSLOT <slot>
三.redis-trib.rb指令碼
這個是ruby編寫的redis叢集管理工具
1代表每個主只有一個從,寫在前面的是主,後面的是從
redis-trib.rb create --replicas 1 ip:port ip:port
檢測叢集是否有問題
redis-trib.rb check ip:port
新增一個節點到叢集
redis-trib.rb add-node <新節點ip:埠> <老節點ip:埠>