1、概念
基本架构
2、环境配置
因为要开多个redis,所以需要多个redis.conf来启动,
复制三个redis.conf文件,分别命名,我这是6379、6380、6381三个端口,
更改各自的配置,这里以redis79.conf为例 ,后面两个也是一样的更改配置把6379变成6380和6381即可
后台运行是开启的
日志命名区分一下
dump文件命名区分一下
3、启动redis服务
修改完配置并启动了三个redis服务,分别是6379、6380、6381
4、 主从模式一主二从
没有配置之前,每台服务都是Master,用info replication查看服务的角色,三台在此不一一展示。
一般情况下,我们只配置从机就好了,一主(79)二从(80、81)
(1)开始认老大
认6379为自己的老大,命令SLAVEOF.6380、6381分别这样设置
(2)老大有了自己的小弟
此时查看主机的上配置,发现有了两个小弟
真实的主从配置应该从配置文件当中配置,上面的命令是暂时的
(3)配置文件修改认老大
把前面#注释,输入老大的ip地址和端口号,需要密码就输入老大的登录密码即可完成认老大
5、数据测试
主机写入一个Key
从机查询也会有一样的key
那从机是否也可以写数据呢,我们来试一下,很遗憾,从机不能写,只能读取内容
6、假如主机宕机了会什么啥子事情
主机断开
查看从机状态,因为咱们没有配置哨兵,此时主机断了,从机还是和以前一样,傻傻的等待主机回来,要想6380变成老大,手动使用命令更改或这把当前的命令取消掉
那我们再做一个事情,之前的老大的有回来了,又设置了一个key值,那从机是否可以再获取最新的值呢?
从机是可以拿到刚添加的值的,但依旧是没有写操作的权限
7、假如从机断了会发什么啥子事情?
关掉从机
此时主机又添加了一个Key值,那么关掉的主机再启动后是否可以拿到老大刚添加的值?
答案揭晓,是拿不到的,默认断开之后再启动,如果你没有再将其配置到配置文件中,默认就是Master了
那再想一个事情,我再将这个6381变回从机,是否可以拿到这些值呢? 答案是可以拿到