寫在前面的話:讀書破萬卷,編碼若有神
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
- 全部的Redis節點彼此互聯,內部使用二進制協議優化傳輸速度和帶寬
- 節點的fail是經過集羣中超過半數的節點檢測失效時才生效
- 客戶端與Redis節點直連,不須要中間proxy層。客戶端不須要鏈接集羣的全部節點,鏈接集羣中任何一個可用節點便可
- 集羣把全部的物理節點映射到[0-16383]插槽上,集羣負責維護:節點-插槽-值 的關係
七、集羣操做的基本命令
(1)cluster info : 獲取集羣的信息
(2)cluster nodes : 獲取集羣當前已知的全部節點,以及這些節點的相關信息
(3)cluster meet <ip> <port> : 將ip和port所指定的節點添加到集羣中
(4)cluster forget <node_id> : 從集羣中移除node_id指定的節點
(5)cluster replicate <node_id> : 將當前節點設置爲node_id指定的節點的從節點
(6)cluster saveconfig :將節點的配置文件保存到硬盤裏面
(7)cluster addslots <slot> [slot ...] :將一個或者多個槽分配給當前節點
(8)cluster delslots <slot> [slot ...] : 從當前節點移除一個或者多個槽
(9)cluster flushslots : 移除分配給當前節點的全部槽
(10)cluster setslot <slot> NODE <node_id> : 將槽分配給node_id指定的節點,若是槽已經分配給了另外一個節點,那麼先讓另外一個節點刪除該槽,而後再進行分配。
(11)cluster setslot <slot> migrate <node_id> : 將本節點的槽遷移到指定的節點中
(12)cluster setslot <slot> importing <node_id> : 從指定節點導入槽到本節點
(13)cluster setslot <slot> stable : 取消對槽的導入(importing)或遷移(migrate)
(14)cluster keyslot <key> : 計算鍵key應該被放置在哪一個槽
(15)cluster countkeysinslot <slot> : 返回槽目前包含的鍵值對數量
(16)cluster getkeysinslot <slot> <count> : 返回count個槽中的鍵
(17)migrate 目的節點ip 目前節點port 鍵名 數據庫號 超時時間 [copy] [replace] : 遷移某個鍵值對