bind 127.0.0.1 port 9000 loglevel warning #requirepass pwd cluster-enabled yes cluster-config-file nodes-9000.conf cluster-node-timeout 15000 appendonly yes #protected-mode no
redis-server.exe --service-install redis.windows-service-local.conf --service-name Name_Redis
驗證服務是否正常運行:在redis文件夾目錄中運行cmd窗口,輸入以下命令便可 redis-cli.exe -h 127.0.0.1 -p 9000 auth pwd
如今官網下載的ruby最新版安裝以後直接就帶有gem了,不須要單獨安裝,查看版本號:ruby -v和gem -v 安裝(安裝目錄不能包含中文,會出現莫名其妙的問題)完成後修改【系統變量】: Path 須要配置 Ruby 的安裝目錄 Bin PATHEXT 須要配置 .RB;.RBW
ruby -v 顯示:ruby 2.6.5
要讓集羣正常運做至少須要三個主節點,不過在剛開始試用集羣功能時, 強烈建議使用六個節點, 其中三個爲主節點, 而其他三個則是各個主節點的從節點。
主節點崩潰,從節點的Redis就會提高爲主節點,代替原來的主節點工做, 崩潰的主Redis回覆工做後,會成爲從節點。node
redis-server.exe redis.windows-service.conf
ruby setup.rb //有關更多詳細信息和其餘選項 ruby setup.rb --help
gem install redis
打開連接若是沒有直接下載,可使用下載器直接下載,或者將頁面內容另存爲 redis-trib.rb 文件便可git
ruby redis-trib.rb create --replicas 1 192.168.1.120:9000 192.168.1.121:9000 192.168.1.120:9001 192.168.1.121:9001 192.168.1.120:9002 192.168.1.121:9002
對Redis節點進行密碼保護時,僅保護其主端口上的通訊(默認爲6379)。 羣集總線上相互通訊的羣集總線(默認端口+ 10000 = 16379)上的通訊不受保護。 所以,當單個節點受到保護時,Redis羣集實際上並非受密碼保護的。 所以,在Redis羣集中的各個Redis節點上具備密碼幾乎不會增長安全性。 所以,redis-trib.rb實用程序還沒有實現任何身份驗證。
WARNING: redis-trib.rb is not longer available! You should use redis-cli instead. All commands and features belonging to redis-trib.rb have been moved to redis-cli. In order to use them you should call redis-cli with the --cluster option followed by the subcommand name, arguments and options. Use the following syntax: redis-cli --cluster SUBCOMMAND [ARGUMENTS] [OPTIONS] Example: redis-cli --cluster create 127.0.0.1:9000 --cluster-replicas 1 To get help about all subcommands, type: redis-cli --cluster help
c:表示集羣,必須在命令中加入-c,表示啓用集羣模式
redis-cli.exe -h 127.0.0.1 -c -p 9000
redis-cli.exe -c -p 9000github
Redis集羣數據分配策略:
採用一種叫作哈希槽 (hash slot)的方式來分配數據,redis cluster 默認分配了 16384 個slot,當咱們set一個key 時,會用CRC16算法來取模獲得所屬的slot,而後將這個key分到哈希槽區間的節點上,具體算法就是:CRC16(key) % 16384
注意 的是:必需要3個以上的主節點,不然在建立集羣時會失敗,三個節點分別承擔的slot 區間是:
節點A覆蓋0-5460
節點B覆蓋5461-10922
節點C覆蓋10923-16383
因此上圖中按照redis cluster的哈希槽算法:CRC16(‘name’)%16384
被分配到了9001端口的redis服務上redis
至此,Redis Cluster在Windows上的配置就完成了算法