Redis学习(四)Redis复制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lwl2014100338/article/details/82808468

配置

建立复制

(一)配置文件中加入slaveof {masterHost} {masterHost}
(二)redis-server启动命令后加入 --slaveof {masterHost} {masterPort}生效
(三)直接使用命令:slaveof {masterHost} {masterPort}生效

断开复制
主要流程

(一)断开与主节点复制关系
(二)从节点晋升为主节点
在这里插入图片描述

切主流程

(一)断开与旧主节点复制关系
(二)与新主节点建立复制关系
(三)删除从节点当前所有数据
(四)对新主节点进行复制操作
在这里插入图片描述

传输延迟

主存节点一般部署在不同机器上,复制时的网络延迟成为需要考虑的问题,Redis提供了repl-disable-tcp-nodelay参数用于控制是否关闭TCP_NODELAY,默认关闭,说明如下:
(一)关闭时,主节点产生的命令数据无论大小都会及时发送给从节点,这样主从之间延迟会变小,但是增加了网络带宽的消耗
(二)开启时,主节点会合并较小的TCP数据包从而节省带宽,但是增大了主从之间的延迟

拓扑

(一)一主一从结构
用于主节点出现宕机时从节点提供故障功转移支持
(二)一主多从结构
应用端可以利用多个从节点实现读写分离。对于读占比较大的场景,可以把读命令发送到从节点分担主节点压力
(三)树状主从结构
当主节点需要挂载多个从节点时为了避免对主节点的性能干扰,可以采用树状主从主从结构

原理

(一)保存主节点信息
(二)从节点内部通过每秒运行的定时任务维护复制相关逻辑
(三)发送ping命令
(四)权限认证
(五)同步

数据同步

Redis在2.8及以上版本中使用psync命令完成主从数据同步,同步过程分为:
(一)全量复制
(二)部分复制

猜你喜欢

转载自blog.csdn.net/lwl2014100338/article/details/82808468