1. 前言
今天从实用的角度来分析下 服务器间的主从部署,以及主从复制备份
2. 配置
- 一个服务器不同的端口代表不同的Redis实例
- 端口
6379表示一台Redis主节点 - 端口
6380表示一台Redis从节点,主节点的端口是6379 - 端口
6381表示一台Redis从节点,主节点的端口是6380
3. 多种配置方式
3.1 通过配置文件
3.1.1 配置信息
- 查看配置文件

- 查看主节点信息
通过下列配置可以看到作为主节点,挂载哪些从节点,以及该节点是否是主节点
info replication

- 查看从节点信息

3.1.2 数据同步
- 主节点数据

- 从节点数据

- 给主节点添加数据


- 主节点 到 从节点 同步数据的偏移量

通过上述节点中可以看到。当主节点添加数据后,会定时部分同步到从节点
3.1.3 从节点是只读的
通过下面的截图可以看到,如果是
从节点的话,是只有只读权限的,目的是为了保证主从数据的一致性
3.1.4 断开复制

上述截图中可以通过命令slaveof no one 将主从断开。 此节点就是主节点了
3.2 通过命令设置
- 此时进程
6381是作为主节点

- 通过命令设置从节点
通过命令
slaveof 127.0.0.1 6380来设置主从节点

3.3 通过启动命令来设置
在
redis-server启动命令后加入--slaveof {masterHost} {masterPort }生效
3.4 传输复制延迟
主从节点一般部署在不同机器上,复制时的网络延迟就成为需要考虑的问题,Redis为我们提供了repl-disable-tcp-nodelay参数用于控制是否关闭TCP_NODELAY,默认关闭

4. 主从复制的原理

通过上述的命令可以得知,其实并不是执行命令
slaveof ip port后会立马进行同步,而是经过socket连接 =>ping命令=>权限校验后,才开始进行数据传输。
5. 结束
上述就是主从复制的注意点以及实现原理。如果有后续的知识还是会不断的补充的。 如果对大家有一丁点的用处,也请大家及时关注 以及收藏




















