Redis节点配置复制的方式有哪些
本篇内容介绍了"Redis节点配置复制的方式有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
建立复制
默认情况下Redis都是主节点,但在复制情况下Redis实例通常会被划分为主节点(master)和从节点(slave),并且每个从节点只有一个主节点,而主节点可以同时有多个从节点。除此之外Redis复制的时候,只能从主节点复制到从节点,而不能从从节点复制到主节点。下面我们了解一下怎么配置Redis中的复制功能。
配置复制的方式主要有以下三种:
在配置文件中加入slaveof{masterHost}{masterPort}。
在redis-server启动命令后加入--slaveof{masterHost}{masterPort}
直接使用命令:slaveof{masterHost}{masterPort}
下面我们启用两个端口来演示Redis复制的功能。
slaveof配置都是在从节点发起的,所以上图中命令执行完成后,会将6379作为主节点,6380作为从节点,并且如上图所示,当我在6379主节点中执行set操作,在6380从节点中已经成功获取到的value值,说明Redis的复制功能已经成功了。
slaveof命令是异步命令,执行slaveof命令时,节点只保存主节点信息饭后返回,后续的复制操作在节点的内部异步执行。当主从节点复制功能建立成功时,可以使用info repliication命令查看复制相关状态。具体操作如图所示:
断开复制
slaveof命令不但可以建立复制,还可以在从节点执行slaveof no one断开与主节点复制关系。断开复制主要有两大流程:
断开与主节点复制关系
从节点晋升为主节点。
备注:从节点断开复制后并不会清除原有数据,只是无法继续从主节点获取数据。通过slaveof命令还可以实现切主操作。那么顾名思义切主操作,就是从节点更换主节点。在Redis中执行slaveof{newMasterIp}{newMasterPort}命令即可完成切主操作。切主操作主要流程如下:
断开与旧主节点复制关系
与新节点建立复制关系
删除从节点当前所有数据
对新主节点进行复制操作
备注:正是因为切主操作会将从节点的数据全部清除掉,所以在生产环境中执行切主操作时要特别注意。
下图为断开复制与切主操作的详细流程:
下图演示了断开复制的具体操作:
下图演示了切主操作的具体操作:
"Redis节点配置复制的方式有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!