Windows系统下搭建Redis主从服务图文教程(一主二从)

1. Redis主从概念

  • Redis的主从复制实现,Redis跟MySQL一样拥有强大的主从复制功能,还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强大的多级服务器集群架构,如下图:
    Windows系统下搭建Redis主从服务图文教程(一主二从)
  • Redis的主从复制功能是异步进行的,不会影响master的运行,也不会降低Redis的处理性能。Redis的主从架构中,可以考虑关闭Master的数据持久化功能,而只让Slave进行必要的持久化,这样就能提高主服务器的处理能力和性能,同时Slave设置为只读模式,这样可以避免Slave缓存的数据被误修改等。

下面我们就在一台电脑的Windows系统下搭建Redis的一主二从步骤:

2. 安装三个Redis实例

创建一个Redis_test文件夹,用来进行主从测试,以免影响到系统中已经安装的Redis实例(我电脑已经安装过Redis,并且都加入到了环境变量中,测试完成后可以直接将该文件夹删除,不会对原Redis产生影响)然后里面在创建Redis_master,Redis_slave1,Redis_slave2三个文件夹,然后将Redis压缩包分别解压到三个文件夹中,目前配置还未修改,里面的配置文件还是一样的,是三个独立的实例,如图:

Windows系统下搭建Redis主从服务图文教程(一主二从)
Windows系统下搭建Redis主从服务图文教程(一主二从)

3. 修改配置文件

  • 默认的配置文件在实例安装目录下:redis.windows.conf
  • 使用编辑器或者记事本打开redis.windows.conf 文件
  • redis常用配置说明
  1. port 端口号,例如6379
  2. bind 实例绑定的访问地址127.0.0.1
  3. requirepass 访问的密码
  4. timeout:请求超时时间
  5. logfile:log文件位置
  6. databases:开启数据库的数量
  7. dbfilename:数据快照文件名(只是文件名,不包括目录)
  • 补充:Redis配置详细介绍及查看命令参考【https://www.runoob.com/redis/redis-conf.html】

  • Redis_master中的配置文件不做修改

  • Redis_slave1配置文件中port 6379修改为6380

  • Redis_slave2配置文件中port 6379修改为6381

  • 由于三个服务器端都是在同一台电脑的同一个系统下,bind都是本地IP地址127.0.0.1

  • 三个独立的Redis实例,但是端口不一样,之后就可以独立启动Windows系统下搭建Redis主从服务图文教程(一主二从)

4. 启动测试三个Redis服务器端实例

  • 分别打开三个CMD窗口,分别跳转到实例文件夹中,分别执行以下启动命令:
  • redis-server redis.windows.conf
  • 注意redis.windows.conf也可以不写,默认会使用该配置文件,也可以自定义配置文件,然后重命名配置文件
  • 由于我电脑已经安装过Redis,并且添加到了环境变量,CMD直接使用redis-server会启动我之前安装过的Redis实例,如果你的电脑也安装过,该处主从测试,切换到对应文件夹启动服务器端,以免发生冲突,测试完成后,可以将Redis_test删除,不会对系统中已有的Redis产生影响
  • 启动结果如下,目前还是三个独立的Redis服务器端:
    Windows系统下搭建Redis主从服务图文教程(一主二从)
    测试完成后,关闭三个服务器端

5. 主从Redis服务绑定,启动主从服务

  • 分别打开Redis_slave1和Redis_slave2文件夹中的配置文件,
  • 在port行下面增加一行,用于绑定主服务器端的IP地址和port端口:
    slaveof 127.0.0.1 6379
    Windows系统下搭建Redis主从服务图文教程(一主二从)

依次启动绑定后的主、从1、从2服务器端:

  • 如下图所示表示,主从服务器创建成功
  • 配置修改绑定后,现在就形成了主从服务器,服务器端已经不是独立的了
    Windows系统下搭建Redis主从服务图文教程(一主二从)

6. 启动主从客户端,主从复制测试

  • 保持上面服务器端打开状态,再次打开三个CMD窗口,切换到主从服务器文件夹中,分别启动客户端并连接对应的服务器端
  • 如下图所示
    Windows系统下搭建Redis主从服务图文教程(一主二从)

Redis集群和主从原理类似,多个硬件搭建多个Master,每个Master对应多个Slave,Slave又可以对应多个Slave,整个集群有个负载均衡服务器balancer

补充几个连接作为参考