redis主从复制

it2022-05-05  124

一:主从配置

 :优先配置从机

:每次与master断开之后,都需要重新连接,除非你配置 进redis.conf文件

 

 

1:修改config文件,并复制多个不同端口的config

 a:修改端口号

2:日志名称

 

3:dump文件

 

 

 

2:启动不同端口的reids服务

#启动端口redis服务

redis-server --port 6378&

1:

 

#连接redis服务

redis-cli.exe -h 127.0.0.1 -p 6378

 

#重复以上步骤,开启多个端口

 

 

3:

#info replication  查看该redis的信息,可以打开刚刚配置的几个redis,可以发现所有的redis目前都是master

一主二从

#slaveof 127.0.0.1 6379        从机配置6379的数据 这个时候6379设置数据,其他的端口都可以获取该节点的数据

 

这个时候可以去查看已经备份6379的redisa,发现这几个redis已经是slave

 

 

#作为从机只能进行读,而不能写,只有主机才能进行写操作

 

 

#将主机shutdown  

1:会发现即使主机shoudown了,但是其他的从也不会变成主机,这个时候如果恢复master,会发现master还是会回到之前的地位,下面挂有之前设置的从机

2:如果从机shutdown,这个时候如果恢复从机,会发现这个时候从机会变成master,但是不会影响之前的从机地位

 

 

 

 

 

去中心化,将数据一个节点一个一个传下去

 

 

有几个端口即使slave也是master

可以看到虽然6378是6379下面的从机,但也是6377的master

 

 

反客为主

 

主机如果shutdown,需要在剩下的从机中选举出一个新的主机

#slaveof no one

 

这个时候其他的从机可以选择新的master

 

 

这个时候就算是之前的6379恢复使用也不会成为之前从机的mastrer

 

 

 

slave启动成功连接到master后会发送一个sync命令

master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令在后台进程执行完毕后,master将传送整个数据文件到slave以完成一次完全同步

 

全量复制:slave服务在接收到数据库文件后,将其存盘并加载到内存中

增量复制:master继续将新的 所有收集到的修改命令依次传给slave完成同步但是只要是重新连接master一次完全同步将被自动执行

 

哨兵模式

 

新建sentinel.conf  文件,里面加上下面内容,意思是监控的redis是6379,本地地址是127.0.0.1的6379,如果6379宕机后,其他的从机票数大于1就可以成为新的master

 

 

 

 

 

 

这个时候哨兵开始巡逻、

 

这个时候如果shutdown主机,剩下的从机会进行选举

 

 

 

 

 

这个时候如果之前的shutdown的主机回来了,不会成为之前的master这个时候会成为slave

 

 

 

 

 


最新回复(0)