Redis的集群有三种模式,分别是主从复制、哨兵模式和Cluster模式。
主从复制模式无法做到高可用,因此Redis提供了哨兵模式,以监听各个节点的状态,防止节点故障。
sentinel的搭建相比主从复制模式复杂一些,但是相比Cluster模式,又不需要安装如ruby环境,所以还是比较简单的。本文主要涉及搭建主从模式的redis;
1、部署
1.1 环境
win10
redis Redis-x64-5.0.10
1.2 规划
redis的安装参考这里
一主二从 (原来6379端口的redis留作单独模式)
文件夹 | 端口 | 角色 |
---|---|---|
Redis-x64-5.0.10 - 6380 | 6380 | 主 |
Redis-x64-5.0.10 - 6381 | 6381 | 从 |
Redis-x64-5.0.10 - 6382 | 6382 | 从 |
1.3 配置
- 主库修改
将Redis-x64-5.0.10 - 6380文件夹中的redis.windows.conf和redis.windows-service.conf中端口修改为6380
2. 修改从库一 6381
将Redis-x64-5.0.10 - 6381文件夹中的redis.windows.conf和redis.windows-service.conf中端口修改为6381,并设置主库地址
3. 修改从库二 6382
方法类似步骤2,不再赘述
2、使用
2.1 启动
2.1.1 手动启动
分别在三个文件夹下的cmd执行
redis-server.exe redis.windows.conf
2.1.2 脚本启动
在对应的redis文件夹下面新建
startRedisServer.bat
脚本的内容为:
@echo off
redis-server.exe redis.windows.conf
@pause
然后在redis文件夹同级的目录下在新建
start6380.cmd
@echo off
cd Redis-x64-5.0.10 - 6380
startRedisServer.bat
start6381.cmd
@echo off
cd Redis-x64-5.0.10 - 6381
startRedisServer.bat
start6382.cmd
@echo off
cd Redis-x64-5.0.10 - 6382
startRedisServer.bat
2.1.3 服务启动
安装主、从服务到win系统服务列表
在 cmd 命令行的格式下,进入到各个目录下,以安装主服务示例,执行以下命令:
# --service-name:设置服务名称,这里设置为 redis6380,从服务可以设置为 redis 6381、6382
./redis-server.exe --service-install redis.windows.conf --service-name redis6380
如果要删除已注册在服务列表的服务,可以在 cmd 命令行任何路径下,执行以下命令:
# 命令格式
sc delete [服务名]
# 例如:删除 redis6380 服务
sc delete redis6380
2.2 校验
1.在主库 执行 info replication
- 在从库执行 info replication
2.3 测试
- 进入主库客户端
- 进入从库客户端
- 在主库设置kv
- 在从库获取key
效果如下图
redis的主从模式搭建完成~