Redis主从配置

本文我们来对Redis的简单的主从配置进行实战。

环境

服务器系统:centos7

环境:本地虚拟机(VMware)

主Redis服务器 ip:192.168.73.123

从Redis服务器 ip:192.168.73.128

redis版本:5.0.3

核心配置

主Redis无需做任何配置,从服务器需要修改配置文件,添加replicaof配置。

修改从Redis服务器上的redis.conf文件:

1
2
3
# slaveof <masterip> <masterport>
# 表示当前【从服务器】对应的【主服务器】的IP是192.168.73.123,端口是6379。
replicaof 192.168.73.123 6379

实战详细步骤

主服务器配置

对于主机master,编辑redis目录下的redis.conf文件:

1
2
3
4
#bind 127.0.0.1 #这行加上注释
protected-mode no #这里的yes改为no
port 6379 #主机的端口是6379 保持不变
daemonize yes #后台运行 这里的no改为yes

从服务器配置

对于从机slave,编辑redis目录下的redis.conf文件:

1
2
3
4
5
6
#bind 127.0.0.1 #这行加上注释
protected-mode no #这里的yes改为no
port 6379 #从机的端口是6379 保持不变
daemonize yes #后台运行 这里的no改为yes

replicaof 192.168.73.123 6379 #这是从机需要添加的配置主从复制,表示要从192.168.73.123这台主机的6379端口进行主从复制

启动主从服务器

在redis目录下执行redis-server命令,并加载redis.conf文件:

测试

使用./bin/redis-cli命令分别启动主服务器和从服务器的redis客户端来执行命令。

在主服务器上执行命令,在从服务器上进行验证。效果如下:

可以看到 主从复制是没有问题的,在主机上写的数据在从机上马上就能读到。

那我们在从机上写数据呢?如下:

从机上是无法进行写数据操作的,只能读不能写,这也是为了保证数据一致性。

如果主机挂掉了呢?从机是否可写呢?

我们继续进行验证。

我们将主机redis服务关闭,然后看从机redis是否可写,验证如下:

可以看到,在单纯的主从模式下,就算主机挂掉,从机仍然无法写入数据。也就是在单纯的主从模式下,从服务器无法升级为主服务器,也就是无法实现高可用。

总结

我们通过实战搭建了Redis的主从模式,可以看出简单的主从模式无法实现redis的高可用。要想实现高可用,还需要添加别的东西,比如哨兵模式。这个我们后续进行学习。