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到達限制后,主庫會強制斷開從庫的連接,配置如圖)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM