1. 程式人生 > >windons 下搭建redis 單機的偽叢集

windons 下搭建redis 單機的偽叢集

目錄

9、測試

1、安裝的Redis

  這裡不敘述

2、安裝Ruby(建立redis的叢集時需要在Ruby環境)下一步直接要以下使用到各種工具資源

3、安裝了RubyGems

下載下來是一個壓縮包,解壓執行裡面的的的setup.rb安裝的RubyGems的

4、cmd命令列使用gem命令安裝redis相關依賴:gem install redis

上面能安裝這個修改可以忽略:

gem sources --remove https://rubygems.org/ 刪掉原來的源
gem sources -a http://ruby.taobao.org

 新增淘寶源
gem sources -l 檢視現有的源
gem install redis 安裝redis依賴

5、環境準備完畢,開始搞Redis,在redis安裝目錄下,建立節點檔案

6、修改的Redis配置檔案,並複製到相應的節點(9001,9002,9003,9004,9005,9006)資料夾下,再更改一下埠(苦力活)需要修改的屬性如下:

port 9001 
cluster-enabled yes 
cluster-config-file nodes.conf 
cluster-node-timeout 5000 
appendonly yes 

(繫結IP按照自己情況修改)

7、CMD執行命令,把這6個節點都註冊為服務:(指定位置檔案註冊為WINDONS服務,並啟動各節點服務)

註冊為服務命令:

redis-server --service-install redis.windows-service.conf --loglevel verbose

redis-server --service-install redis.windows-service.conf --service-name redis9001

redis-server --service-install redis.windows-service.conf --service-name redis9002

redis-server --service-install redis.windows-service.conf --service-name redis9003

redis-server --service-install redis.windows-service.conf --service-name redis9004

redis-server --service-install redis.windows-service.conf --service-name redis9005

redis-server --service-install redis.windows-service.conf --service-name redis9006

8、CMD下使用如下命令建立的Redis叢集:

建立叢集的命令:

ruby redis-trib.rb create --replicas 1 192.168.140.129:9001 192.168.140.129:9002 192.168.140.129:9003 192.168.140.129:9004 192.168.140.129:9005 192.168.140.129:9006

客戶端測試命令:

redis-cli -c -h 127.0.0.1  -p 9001 -c

redis-cli -c -h 192.168.140.129 -p 9001 -c 

刪除服務cmd命令:
 sc delete <service name>
 
 sc delete redis9001

9、測試

10、redis叢集主從關係圖:

主節點被刪除,對應的從節點就會升級為主節點(如:將redis9001服務停止後,9004就會變為主節點,在啟動9001這是9001就變為從節點)

注意:再次使用命令建立的Redis叢集例項時,必須把各節點資料夾下的appendonly.aof,nodes.conf,dump.rdb這些檔案刪除了,才能建立的Redis叢集例項,否則會報錯

11、附上叢集客戶端命令(redis-cli -c -p port)

叢集
cluster info :列印叢集的資訊
cluster nodes :列出叢集當前已知的所有節點( node),以及這些節點的相關資訊。
節點
cluster meet <ip> <port> :將 ip 和 port 所指定的節點新增到叢集當中,讓它成為叢集的一份子。
cluster forget <node_id> :從叢集中移除 node_id 指定的節點。
cluster replicate <node_id> :將當前節點設定為 node_id 指定的節點的從節點。
cluster saveconfig :將節點的配置檔案儲存到硬盤裡面。
槽(slot)
cluster addslots <slot> [slot ...] :將一個或多個槽( slot)指派( assign)給當前節點。
cluster delslots <slot> [slot ...] :移除一個或多個槽對當前節點的指派。
cluster flushslots :移除指派給當前節點的所有槽,讓當前節點變成一個沒有指派任何槽的節點。
cluster setslot <slot> node <node_id> :將槽 slot 指派給 node_id 指定的節點,如果槽已經指派給
另一個節點,那麼先讓另一個節點刪除該槽>,然後再進行指派。
cluster setslot <slot> migrating <node_id> :將本節點的槽 slot 遷移到 node_id 指定的節點中。
cluster setslot <slot> importing <node_id> :從 node_id 指定的節點中匯入槽 slot 到本節點。
cluster setslot <slot> stable :取消對槽 slot 的匯入( import)或者遷移( migrate)。
鍵
cluster keyslot <key> :計算鍵 key 應該被放置在哪個槽上。
cluster countkeysinslot <slot> :返回槽 slot 目前包含的鍵值對數量。
cluster getkeysinslot <slot> <count> :返回 count 個 slot 槽中的鍵