Windows环境下配置Redis的主从复制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDNgaoqingrui/article/details/82531107

Windows下Redis的主从复制


Redis拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强大的多级服务器集群架构。目前在同一台window下安装三个redis实例,

其中主服务端口6379,从服务slave1为6380,从服务slave2为6381.

1.当前已安装并启动了主服务器,复制两份主服务的解压目录分别命名为Redis-salve1和Redis-salve2.如下图:

2.配置从服务器

  分别配置两个配置文件redis.windows.conf和redis.windows-service.conf(两个文件需要配置的内容相同,以redis.windows.conf为例):

slave1: port 6379 改为 port 6380   增加:  slaveof 127.0.0.1 6379

slave2: port 6379 改为 port 6381   增加:  slaveof 127.0.0.1 6379

3.启动两个从服务

切换到各自目录下,以slave1为例-输入命令:redis-server --service-install redis.windows.conf --maxmemory 200m  --service-name redis6380

4.打开服务,启动两个从服务并设置为自动启动

5.测试

1.)分别登录主从服务器客户端:主:redis-cli.exe 回车 auth 密码; 从:redis-cli.exe -h 127.0.0.1 -p 6380

2.)分别在主从服务器客户端上输入命令:info replication

在从服务器上能够查到主服务器的数据,并且不能写入。

到此主从配置完成

补充:模拟6379 宕机

info replication #观察,发现master_link_status:down,表示主一定宕掉了

#开始从主切换(6380 -->6379)

# 只需要简单执行下面两句命令,就将6380主切换为主

127.0.0.1:6380> slaveof no one

OK

127.0.0.1:6380> config set slave-read-only no

OK

127.0.0.1:6380> set title "sentinel"

OK

#连到从服务上,没有问题

127.0.0.1:6381> get name

"before"

配置主从是遇到的问题:

如果遇到启动从服务,无法连接到主服务,并提示 NOAUTH Authentication required. 这是因为主服务器设置了密码,而从服务器访问主服务器需要带上密码,操作在配置文件redis.windows.conf和redis.windows-service.conf中 加上masterauth 123456

猜你喜欢

转载自blog.csdn.net/CSDNgaoqingrui/article/details/82531107