redis中repl-buffer和backlog之间的区别?

时间:2016-05-24 03:28:00

标签: linux server redis nosql

在redis.conf中,client-output-buffer-limit vs repl-backlog-size?

redis master为每个slave分配复制缓冲区,我可以设置client-output-buffer-limit 500M。 repl-buff注意到master命令和runid' offset。

我不知道redis master角色中的积压效果。积压注意全局偏移,每个从属运行,每个不同的任务时间成本?

当从属笔记发送带有runid \ last偏移量的psync命令给master时,master从backlog或rel-buffer获取数据?

2 个答案:

答案 0 :(得分:1)

复制缓冲区将新的更新保留到主服务器,直到主服务器的RDB快照传输到从服务器并加载到其内存中为止。此后,复制缓冲区中的数据将传输到从属设备。客户端输出缓冲区限制是我们允许复制缓冲区增长的最大大小。

从站断开连接后,Backlog将存储数据。因此,当从属设备重新连接时,我们无需再次进行完全同步。

所以您的问题的答案是复制缓冲区。

答案 1 :(得分:0)

client-output-buffer-limit用于强制断开慢客户端。

repl-backlog-size是用于跟踪最近更改的内存。从属设备使用此缓冲区在重新连接后快速赶上而不是传输整个数据库。

请参阅http://download.redis.io/redis-stable/redis.conf