Redis主从同步中的repl_backlog_buffer和repl_buffer

repl_backlog_buffer: 为了解决从库断连后找不到主从差异数据而设立的环形缓冲区,从而避免全量同步带来的性能开销。在redis.conf配置文件中可以设置大小,如果从库断开时间过长,repl_backlog_buffer环形缓冲区会被主库的写命令覆盖,那么从库重连后只能全量同步,所以repl_backlog_size配置尽量大一点可以降低从库连接后全量同步的频率。

 ===============================================================================================================

replication_buffer:对于客户端或从库与redis通信,redis都会分配一个内存buffer进行数据交互,redis先把数据先入这个buffer中,然后再把buffer中的数据发送出去,所以主从在增量同步时,保证主从数据一致。(既然是内存buffer,那如果持续增大buffer的大小,会消耗大量的资源,所以redis提供了断开这个client的连接,“client-output-buffer-limit”,可以设置限制,当从库处理慢导致主库内存buffer到达限制后,主库会强制断开从库的连接,配置如图)

原文地址:https://www.cnblogs.com/-qilin/p/14776714.html