四川建设厅官方网站文件下载,电商网站大连,wordpress 缩略图判断,什么网站专门做图片在 Redis 中#xff0c;我们可以通过 SLAVEOF 命令或者 slaveof 选项#xff0c;让一个服务器去复制另一个服务器#xff0c;被复制的服务器称为“主服务器”#xff0c;发起复制的服务器称为“从服务器”#xff0c;由两种服务器组成的模式称为“主从复制”。 主从复制原…在 Redis 中我们可以通过 SLAVEOF 命令或者 slaveof 选项让一个服务器去复制另一个服务器被复制的服务器称为“主服务器”发起复制的服务器称为“从服务器”由两种服务器组成的模式称为“主从复制”。 主从复制原理
客户端向从服务器发送 SLAVEOF 命令先是判断是否是第一次复制第一次是复制一般是刚开始组建主从关系。是第一次复制从服务器会向主服务器发送 PSYNC -1 命令请求主服务器执行完整重同步操作。主服务器接到完整重同步请求之后将在后台执行 BGSAVE 命令在后台生成一个 RDB 文件并使用一个复制积压缓冲区记录从现在开始执行的所有写命令。BGSAVE 命令执行完毕之后主服务器会将 RDB 文件以及 缓冲区中记录的写命令发送给从服务器还会向从服务器返回 FULLRESYNC [主服务器ID] [复制偏移量]和图中的 偏移量 是一个。从服务器接收到后会载入 RDB 文件并执行 主服务器给的 写命令以此来达到和主服务器一致的数据状态。如果不是第一次复制那么说明从服务器可能是断线导致和主服务器数据状态不一致需要同步主服务器的数据。那么从服务器会按照下面的步骤来请求部分同步。向主服务器发送 PSYNC [主服务器ID] [复制偏移量]这个是第一次复制时主服务器传过来的主服务器ID 时断线前的主服务器用于定位去同步那个主服务器的复制偏移量是上一次同步的位置用于定位具体的同步位置的。主服务器接收到从服务器的命令后并找到相应同步的位置后会给从服务器发送 CONTINUE 命令表示将于从服务器执行部分同步操作之后主服务器会将保存在复制积压缓冲区对应 复制偏移量之后的所有数据发送给从服务器但是如果找不到偏移量之后的数据就会进行完整同步这样就可以让从服务器达到和主服务器一致的状态。
如图所示 总结 Redis 主从复制主要是通过 PSYNC 命令实现。 复制分为 部分复制 以及 完整复制。 部分复制通过 复制偏移量、复制积压缓冲区、服务器ID来实现。 完整复制通过 RDB 以及 复制积压缓冲区来实现。 主从复制主要解决的是 数据备份、读写分离的问题。