一、我们先了解以下什么是主从关系:
可以狭义的理解为Java中的父子关系,也就是一个爸爸带好几个儿子。爸爸的角色在redis中就是主,儿子们就是从。
二、搭建主从关系:
这边我们准备一台虚拟机的四个连接做实验。
遵循“配从不配主”原则。
第一步先在redis中创建一个空的目录,通过cp命令拷贝两份redis目录下的redis.conf文件到目录中。
第二步接着通过vi redis.conf命令进入到配置文件中。用/搜索port ,将其默认的端口号修改为6381,另一份同样的方式修改为6382。
第三步用第一台虚拟机运行主(菜楼楼的主配置文件命名为:redis6380.conf,两个从分别是redis6381.conf,redis6382.conf)
通过redis-server rides6380.conf,redis-server redis6381.conf,redis-server redis6382.conf三条命令同时启动三个服务。此连接作为服务器。
接着打开第二个连接,通过redis-cli -p 6380进入主服务。
打开第三个连接,通过redis-cli -p 6381进入从服务。
打开第四个连接,通过redis-cli -p 6382 进入第二个从服务。
通过role命令可以查看三个服务的不同角色,但是我们第一次进入什么都没干,那么他们三个的role值都应该是 master。
接着我们通过slaveof xxx.x.x.x:端口号(port主)配置主从关系,代表着“我是从,我要跟随谁”。两台都这样配置。这里我发现个非常奇葩的问题,就是我在我的主中也使用了这个命令,端口号也是主,但是显示的是我的主变成了从,从谁呢?从我自己??? 如果发生了这个情况可以使用slaveof no one命令来恢复主角色。