Windows環境搭建Redis(主從、哨兵、分片)集群
主從模式
下載地址
下載zip包解壓即可使用
https://github.com/MicrosoftArchive/redis/releases
redis下載
解壓后修改文件夾名稱為6379_master,然后復制兩個分別改名為6380_slave1和6381_slave2
redis目錄
修改主從配置文件
修改 6380_slave1的配置文件redis.windows,將端口改為6380,并配置master的ip和端口
redis端口修改
從節點配置
修改 6381_slave1的配置文件redis.windows,將端口改為6381,并配置master的ip和端口
redis端口修改
從節點配置
安裝redis為windows服務
切換到6379_master目錄,然后執行
redis-server --service-install redis.windows.conf --service-name
Redis6379
安裝redis服務
再切換到6380_slave1目錄執行
redis-server --service-install redis.windows.conf --service-name
Redis6380
再切換到6381_slaves2目錄執行
redis-server --service-install redis.windows.conf --service-name
Redis6381
全部安裝完成后雙擊每個服務點擊啟動
啟動服務
查看主從狀態
雙擊6379_master目錄下的redis-cli.exe執行命令
info replication
主從狀態
切換到從庫查看狀態
redis-cli.exe -p 6380
info replication
主從狀態
測試主從
使用redis客戶端在主節點插入一個key,兩個從節點會自定同步過來
測試主從同步
哨兵模式
在上面主從模式的基礎上,分別在文件夾6379_master、6380_slave1、6381_slaves2中添加一個哨兵的配置文件sentinel.conf,配置文件內容如下
增加哨兵配置文件
6379_master的sentinel.conf:
#哨兵運行的端口
port 32523
sentinel monitor testmaster 127.0.0.1 6379 3
sentinel down-after-milliseconds testmaster 3000
sentinel parallel-syncs testmaster 1
sentinel failover-timeout testmaster 10000
6380_slave1的sentinel.conf:
port 32524
sentinel monitor testmaster 127.0.0.1 6380 3
sentinel down-after-milliseconds testmaster 3000
sentinel parallel-syncs testmaster 1
sentinel failover-timeout testmaster 10000
6381_slave2的sentinel.conf:
port 32525
sentinel monitor testmaster 127.0.0.1 6381 3
sentinel down-after-milliseconds testmaster 3000
sentinel parallel-syncs testmaster 1
sentinel failover-timeout testmaster 10000
安裝哨兵為windows服務
安裝6379_master哨兵
sc create RedisSentinel6379 binpath= "\"D:\redis\6379_master\redis-server.exe\" --service-run sentinel.conf --sentinel --loglevel verbose" start= auto
安裝6380_slave1哨兵
sc create RedisSentinel6380 binpath=
"\"D:\redis\6380_slave1\redis-server.exe\" --service-run sentinel.conf
--sentinel --loglevel verbose" start= auto
安裝6381_slaves2哨兵
sc create RedisSentinel6381 binpath=
"\"D:\redis\6381_slave2\redis-server.exe\" --service-run sentinel.conf
--sentinel --loglevel verbose" start= auto
安裝完成雙擊啟動哨兵服務
哨兵服務
查看哨兵狀態
redis-cli.exe -p 32523
哨兵狀態
測試哨兵模式
手動將redis6379服務停止
停止主節點
在查看哨兵信息發現6381已經提升為主節點
redis-cli.exe -p 32523
主節點切換
分片集群
資源準備
除了redis安裝包外還需下載:
Ruby安裝包:
https://rubyinstaller.org/downloads/
ruby下載
Ruby下redis的驅動:
https://rubygems.org/gems/redis/versions/3.2.2
redis驅動
創建Redis集群的ruby腳本redis-trib.rb
https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb
redis配置文件修改
復制六個節點并重命名為端口號
集群節點
修改Redis配置文件
#運行的端口
port 6380
#開啟集群
cluster-enabled yes
#aof日志
appendonly yes
cluster-config-file nodes-6380.conf
六個節點的配置文件都要改,唯一不同的就是端口號
安裝redis
分別安裝六個redis實例
redis-server --service-install redis.windows.conf --service-name
Redis6380
redis-server --service-install redis.windows.conf --service-name
Redis6381
redis-server --service-install redis.windows.conf --service-name
Redis6382
redis-server --service-install redis.windows.conf --service-name
Redis6383
redis-server --service-install redis.windows.conf --service-name
Redis6384
redis-server --service-install redis.windows.conf --service-name
Redis6385
安裝完成后啟動服務
集群服務
安裝Ruby
一直下一步就行
ruby安裝
安裝Ruby下redis驅動
將下載的redis-3.2.2.gem復制到ruby安裝目錄
驅動
執行安裝命令
gem install --local C:\Ruby31-x64\redis-3.2.2.gem
安裝驅動
使用redis-trib.rb來創建Redis集群
redis-trib.rb create --replicas 1 127.0.0.1:6380 127.0.0.1:6381
127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385
執行完命令要輸入yes
啟動redis集群
命令
檢查集群
redis-trib.rb check 127.0.0.1:6380
檢查集群狀態
查看集群節點
redis-cli.exe -h 127.0.0.1 -p 6380
cluster nodes
查看集群節點