Redis主从复制

主从复制解释
主从复制是把一台Redis服务器(master)中的数据,复制到其他与其有关联的Redis服务器(slave)。其中数据的数据复制是单向的,只能是master ——> slave。
Redis的角色定位默认情况下是master,一个master可以有多个slave,但每个slave只能有一个master。
那么为什么会有主从复制呢,我们假设一个场景,我们单机部署,不搞主从复制,集群什么的。当Redis挂掉之后,我们对master进行数据恢复,重启后。就会过去很长时间,这样不利于线上业务的持续服务。但当我们配置主从之后,我们只需要把slave切换成master,这样服务就能继续。所花费的时间也就少了很多。

主从复制有哪些作用

  • 数据冗余
  • 故障恢复:就像上述说的那个场景,可以使线上服务快速从故障状态恢复过来
  • 负载均衡:主从配合读写分离,可以分担服务器的压力
  • 作为哨兵和集群部署的基石

主从复制的配置方法如下

1-命令方式
假设 6379 作为master
	 6380 作为slave
我们在6380Redis服务器上使用如下命令: slaveof 172.20.10.2 6379 。其中172.20.10.2是maste的IP 6379也就是master的端口
配置完成后我们在6380服务器上使用info Replication 观察它们的状态,我们发现6380的角色由maste转变为了slave。

role:slave
master_host:172.20.10.2
master_port:6379
master_link_status:up
master_last_io_seconds_ago:8
master_sync_in_progress:0
slave_read_repl_offset:28
slave_repl_offset:28
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:c08a5310aef60963ab1d1a59617739c88cc0367f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:28
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15
repl_backlog_histlen:14
----------------------------------
2-配置文件方式
在配置文件中加入 slaveof 172.20.10.2 6379即可

3-启动命令方式
在从节点的启动命令后面加上 --slaveof masterip masterport

主从复制过程


 - 1-设置主节点的地址和端口	
     slaveof 172.20.10.2 6379
 - 2-建立套接字连接
     执行完 slaveof 172.20.10.2 6379 slave服务器会向master建立socket链接
 - 3-发送PING命令
     建立完成socket链接之后slave会像master发送ping命令,从而检查此socket是否可用。
 - 4-权限验证
     slave和master都没有设置密码则不需要验证
     slave和master任何一个设置了密码都会验证
 - 5-同步
      slave向master发送psync命令(Redis2.8以前是sync命令),注意这里,有可能是全量复制,也有可能是部分复制,主要看两个节点的状态(主从第一次建立连接,是全量复制。如果是网络中断,重新连接的话,是部分复制。)。
 - 6-命令传播
     master将自己执行的写命令发送给slave,slave接收命令并执行,从而保证master和slave数据的一致性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值