windows环境下 redis主从+哨兵,一站到底!

文章目录

redis主从+哨兵,一站到底。没有废话,全是干货

简介:本文使用redis版本3.0+,版本不同时,配置会有些许差异。

目的:嫌集群太大,用不上;嫌单机太小,有点low。。那就使用主从+哨兵

彩蛋:后面有链接整合到SpringBoot

老规矩:用上了,给个赞!!!

搭建redis主从的文件结构,看红框

在这里插入图片描述

一、主从配置

1.1 主从主从,一主两从。数量可以配置多个,但总数一定得是单数。

创建三个文件夹:8010,8011,8012。这三个文件夹就是放主从的配置文件,首次定义,我以8010为主,其他为从。

1.2 将redis.windows.conf文件复制到各个文件夹。复制后,并重命名(主要是方便自己看。。。)

在这里插入图片描述

1.3 修改conf配置。主库不用动,也就是8010.conf不动,我们动从库。

找到slaveOf标签,在下面添加标签

# slaveof <masterip> <masterport>
格式: slaveof 主机的ip 主机的端口
slaveof 10.8.8.177 8010

注意:所有从库都需要加

主从配置完成。。那就测试一下吧。

二、主从测试

2.1 redis根目录,打开cmd,使用命令启动服务

分别将三个服务都启动,修改命令的路径即可。比如8010改成8011,8012

redis-server.exe E:\Redis-x64-3.0.504\8010\redis.windows_8010.conf

2.2 启动完成后,可以看到cmd窗口的变化,自行看吧。。

2.3 查看主节点信息

使用命令进入主节点,我这边测试过了,我的主节点变成了8011,刚开始搭建,用8010

redis-cli.exe -h IP -p 端口
redis-cli.exe -h 10.8.8.177 -p 8011

进入节点后,使用命令查看节点信息

info replication

在这里插入图片描述

2.4 查看从节点信息,命令参考2.3,使用从节点端口号即可

在这里插入图片描述

2.5 自行测试

主节点可读可写,从节点只读。主节点写入数据后,从节点是否能读取。读取成功,表示主从搭建完成

三、哨兵搭建

3.1 在每个服务(8010,8011,8012)里面创建文件:sentinel.conf

在这里插入图片描述

3.2 sentinel.conf的配置

哨兵配置,监听redis服务。
其他文件同理新增然后改一下端口即可,28011,和 28012。

#当前Sentinel服务运行的端口,端口不能重复,为了方便理解。端口号前加个2,即原来的8010 -> 28010
port 28010
# 哨兵监听的主服务器
sentinel monitor mymaster 10.8.8.177 8010 2
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover
sentinel failover-timeout mymaster 10000
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel config-epoch mymaster 8

sentinel monitor参数介绍

sentinel monitor [master-group-name] [ip] [port] [quorum]
master-group-name:master名称(可以自定义)
ip port : IP地址和端口号
quorun:票数,Sentinel需要协商同意master是否可到达的数量。
解释:第一行配置指示 Sentinel 去监视一个名为 mymaster 的主服务器, 这个主服务器的 IP 地址为 127.0.0.1 , 端口号为 6379 , 而将这个主服务器判断为失效至少需要 2 个 Sentinel 同意 (只要同意 Sentinel 的数量不达标,自动故障迁移就不会执行)。
票数在本文中:redis集群中有3个sentinel实例,其中master挂掉啦,这里设置票数为2,表示有2个sentinel认为master挂掉啦,才能被认为是正真的挂掉啦。

3.3 编写启动文件,用来启动哨兵

  1. 分别在每个redis目录内创建启动文件startRedisSentinel.bat,8010,8011,8012目录内都要创建
    个人文件结构图
  2. 修改这个文件
    @echo off
    redis-server.exe sentinel.conf --sentinel 
    @pause
    
  3. 在redis根目录下创建startRedisSentinel28010.cmd
    在这里插入图片描述
  4. 修改文件
    @echo off
    cd 8010
    startRedisSentinel.bat
    
  5. 双击各个cmd启动。前提是之前的8010,8011,8012服务已启动
    你会得到三个cmd窗口。启动时,可以看到窗口的变化
    在这里插入图片描述

四、恭喜你,哨兵已经搭建完成了。测试下吧

4.1尝试下主节点下机。然后看看刚才那三个窗口的变化。

我的主节点是8011 。。搭建时你们应该是8010在这里插入图片描述

4.2 进入8010节点,查看节点信息

在这里插入图片描述

五、大功告成。。给个赞!给个赞!给个赞!重要的事说三遍

搭建完了,又好像没做完。。还没整合到项目呢

整合入SpringBoot

下一章:redis集群搭建。redis还是这个版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值