【转】Redis集群主从复制(一主两从)搭建配置教程【Windows环境】

原文地址:https://www.cnblogs.com/aflyun/p/8495561.html

————————————————

版权声明:本文为CSDN博主「Java技术攀登者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41846320/article/details/83753667
————————————————

Redis主从复制简单介绍

为了使得集群在一部分节点下线或者无法与集群的大多数节点进行通讯的情况下, 仍然可以正常运作, Redis 集群对节点使用了主从复制功能: 集群中的每个节点都有 1 个至 N 个复制品(replica), 其中一个复制品为主节点(master), 而其余的 N-1 个复制品为从节点(slave)。

那么上面是主从复制呢,简单的来说就是一个主节点master可以拥有一个甚至多个从节点的slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。

 

 

 

其中主节点以写为主(可写也可以读),从节点只能读不可写入!【读写分离场景】
其中主节点写入的数据会同步(不是准实时的)到salve上,这样如果主节点出现故障,数据丢失,则可以通过salve进行恢复。【容灾恢复场景,注:因为数据不是实时同步的,可能会存在从salve恢复数据后有数据丢失问题】

综上:下面是关于redis主从复制的一些特点:
1.一个master可以有多个slave
2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构
3.主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不能处理client的请求。
4.主从复制可以用来提高系统的可伸缩性,我们可以用多个slave 专门用于client的读请求,比如sort操作可以使用slave来处理。也可以用来做简单的数据冗余
5.可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。
6.可以用于读写分离和容灾恢复。

Redis主从复制的常用的几种方式

1、一主二仆 A(B、C) 一个Master两个Slave
2、薪火相传(去中心化)A - B - C ,B既是主节点(C的主节点),又是从节点(A的从节点)
3、反客为主(主节点down掉后,手动操作升级从节点为主节点) & 哨兵模式(主节点down掉后,自动升级从节点为主节点)
本次主要介绍一主二仆的操作

Redis主从复制的搭建(一主二仆)

1.下载Windows环境的Redis安装包

Redis For Windows GitHub(https://github.com/MicrosoftArchive/redis/releases

 

 

  1)下载Redis-x64-3.2.100.zip。

  2)解压文件,复制两份并重命名,形成三个文件夹:master_6379、salve_6380、slave_6381

 二、配置文件

1) master_6379 不做更改
2) slave_6380文件夹中redis.windows.conf文件配置 port 6380 slaveof 127.0.0.1 6379 3) slave_6381文件夹中redis.windows.conf文件配置 port 6381 slaveof 127.0.0.1 6379

 注意:

1)6379可以配置密码:

搜索 bind -> 修改成:bind 0.0.0.0 

 

 

 

 搜索 auth -> 修改成:requirepass 密码

 

 

 2)从redis搜索salveof设置监听主redis的端口

 

 

主redis设置了密码从redis也需要设置监听的主redis密码

 

 

 三、启动服务

1)编写启动redis脚本

 

 

 在对应的redis文件夹下面新建startRedisServer.bat

脚本的内容为:

@echo off
redis-server.exe redis.windows.conf
@pause

然后在redis文件夹同级的目录下在新建start6379.cmd

@echo off
cd Redis-x64-3.2.100-6379
startRedisServer.bat

然后6380和6381和上面操作一样,操作完成后如下图:

 

 

 4.启动测试

启动规则:先启动主节点,然后在启动从节点!
(1)可以使用命令启动 。

  进入相应的文件夹目录,使用启动命令:redis-server.exe
(2)使用脚本启动
 如上面图片,分别执行start6379.cmd,start6380.cmd,start6381.cmd。
分别启动redis服务,查看各个服务状态:

master 6379

 

  slave 6380

 

 slave 6381

 

 四 测试服务 

1)测试读写。 主节点可读可写

 

 从节点只能读不能写

 

    2) 测试当主节点shutdown后,从节点的状态。关掉主节点,从节点状态:

 

 可以看到从节点不会自动升级为主节点,但依然可读

3)测试当主节点重新启动后,从节点的状态。可以看到从节点依然可以连接主节点

 

posted @ 2021-07-29 11:26  花影疏帘  阅读(219)  评论(0)    收藏  举报