日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis:主从复制原理

發布時間:2025/4/16 数据库 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis:主从复制原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 前言

Redis是一個高性能的K-V內存數據庫。對于Redis來說,當訪問讀請求的并發量增加的時候,Redis主服務器會成為一個性能瓶頸。為了分擔讀壓力,Redis支持主從復制,Redis的主從結構可以采用一主多從或者級聯結構,Redis主從復制可以根據是否是全量分為全量同步和增量同步。下圖為級聯結構。

2. Redis主從復制

2.1 全量復制

當Slave機器連接到Redis集群中時,Slave機器需要進行初始化。這個時候需要進行全量復制。具體步驟如下:

  • 從服務器連接主服務器,發送SYNC命令;
  • 主服務器接收到SYNC命名后,開始執行BGSAVE命令生成RDB文件并使用緩沖區記錄此后執行的所有寫命令;
  • 主服務器BGSAVE執行完后,向所有從服務器發送快照文件,并在發送期間繼續記錄被執行的寫命令;
  • 從服務器收到快照文件后丟棄所有舊數據,載入收到的快照;
  • 主服務器快照發送完畢后開始向從服務器發送緩沖區中的寫命令;
  • 從服務器完成對快照的載入,開始接收命令請求,并執行來自主服務器緩沖區的寫命令;
  • 完成上面幾個步驟后就完成了從服務器數據初始化的所有操作,從服務器此時可以接收來自用戶的讀請求。

    3. Redis增量同步

    Redis增量復制是指Slave初始化后開始正常工作時主服務器發生的寫操作同步到從服務器的過程。 增量復制的過程主要是主服務器每執行一個寫命令就會向從服務器發送相同的寫命令,從服務器接收并執行收到的寫命令。

    4. Redis主從同步策略

    主從剛剛連接的時候,進行全量同步;全同步結束后,進行增量同步。當然,如果有需要,slave 在任何時候都可以發起全量同步。redis 策略是,無論如何,首先會嘗試進行增量同步,如不成功,要求從機進行全量同步。

    4.1 Redis主從同步策略存在的問題

    如果多個Slave斷線了,需要重啟的時候,因為只要Slave啟動,就會發送sync請求和主機全量同步,當多個同時出現的時候,可能會導致Master IO劇增宕機。

    Redis主從復制的配置十分簡單,它可以使從服務器是主服務器的完全拷貝。需要清除Redis主從復制的幾點重要內容

  • Redis使用異步復制。但從Redis 2.8開始,從服務器會周期性的應答從復制流中處理的數據量。
  • 一個主服務器可以有多個從服務器。
  • 從服務器也可以接受其他從服務器的連接。除了多個從服務器連接到一個主服務器之外,多個從服務器也可以連接到一個從服務器上,形成一個圖狀結構。
  • Redis主從復制不阻塞主服務器端。也就是說當若干個從服務器在進行初始同步時,主服務器仍然可以處理請求。
  • 主從復制也不阻塞從服務器端。當從服務器進行初始同步時,它使用舊版本的數據來應對查詢請求,假設你在redis.conf配置文件是這么配置的。否則的話,你可以配置當復制流關閉時讓從服務器給客戶端返回一個錯誤。但是,當初始同步完成后,需要刪除舊的數據集和加載新的數據集,在這個短暫的時間內,從服務器會阻塞連接進來的請求。
  • 主從復制可以用來增強擴展性,使用多個從服務器來處理只讀的請求(比如,繁重的排序操作可以放到從服務器去做),也可以簡單的用來做數據冗余。
  • 使用主從復制可以為主服務器免除把數據寫入磁盤的消耗:在主服務器的redis.conf文件中配置“避免保存”(注釋掉所有“保存“命令),然后連接一個配置為“進行保存”的從服務器即可。但是這個配置要確保主服務器不會自動重啟(要獲得更多信息請閱讀下一段)
  • 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的Redis:主从复制原理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。