redis 查看redis节点_Redis节点复制

在分布式系统中为了解决单点登陆问题,通常会把数据复制多个副本并部署到不同的机器上来解决此类问题。那么Redis也一样,在集群环境,怎么保证不同的实例与实例之间Redis数据的一致呢?答案就是Redis中的复制功能。在这一篇中我们主要介绍Redis有关复制功的内容。


  • 建立复制

默认情况下Redis都是主节点,但在复制情况下Redis实例通常会被划分为主节点(master)和从节点(slave),并且每个从节点只有一个主节点,而主节点可以同时有多个从节点。除此之外Redis复制的时候,只能从主节点复制到从节点,而不能从从节点复制到主节点。下面我们了解一下怎么配置Redis中的复制功能。


配置复制的方式主要有以下三种:

  1. 在配置文件中加入slaveof{masterHost}{masterPort}。
  2. 在redis-server启动命令后加入--slaveof{masterHost}{masterPort}
  3. 直接使用命令:slaveof{masterHost}{masterPort}

2f693e8986050bd4fe5a823d5852b235.png
5973f9ca5e4e089d86e59a7534adf12e.png

下面我们启用两个端口来演示Redis复制的功能。

slaveof配置都是在从节点发起的,所以上图中命令执行完成后,会将6379作为主节点,6380作为从节点,并且如上图所示,当我在6379主节点中执行set操作,在6380从节点中已经成功获取到的value值,说明Redis的复制功能已经成功了。

e556b29303a7ad5424056578e0c2f159.png
8cf083f1840a27869de5eaf8fd95e7f4.png

slaveof命令是异步命令,执行slaveof命令时,节点只保存主节点信息饭后返回,后续的复制操作在节点的内部异步执行。当主从节点复制功能建立成功时,可以使用info repliication命令查看复制相关状态。具体操作如图所示:


  • 断开复制

slaveof命令不但可以建立复制,还可以在从节点执行slaveof no one断开与主节点复制关系。断开复制主要有两大流程:

  1. 断开与主节点复制关系
  2. 从节点晋升为主节点。

备注:从节点断开复制后并不会清除原有数据,只是无法继续从主节点获取数据。通过slaveof命令还可以实现切主操作。那么顾名思义切主操作,就是从节点更换主节点。在Redis中执行slaveof{newMasterIp}{newMasterPort}命令即可完成切主操作。切主操作主要流程如下:

  1. 断开与旧主节点复制关系
  2. 与新节点建立复制关系
  3. 删除从节点当前所有数据
  4. 对新主节点进行复制操作

备注:正是因为切主操作会将从节点的数据全部清除掉,所以在生产环境中执行切主操作时要特别注意。


下图为断开复制与切主操作的详细流程:

b2039088c60a4d30ccd3924ef46974bb.png

下图演示了断开复制的具体操作:

3b4eec11192bf8271b99a382b5bd1b5f.png

下图演示了切主操作的具体操作:

4d760429994622eb69e58bfcecf35f6d.png
12eac9e710decea9a809565278cbf64f.png
6b78348614dabf59d73ed4d51c358fc6.png

上述内容就是Redis中的复制相关的知识,如有不正确的地方,欢迎留言,在下一篇中我们将重点了解Redis复制功能中的一主一从及一主多从结构,谢谢。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值