Windows环境搭建Redis(主从、哨兵、分片)集群
主从模式
Ip |
端口 |
角色 |
127.0.0.1 |
6379 |
主节点 |
127.0.0.1 |
6380 |
从节点 |
127.0.0.1 |
6381 |
从节点 |
下载地址
下载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
查看集群节点