欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis的主從模式復制的具體步驟

 更新時間:2025年10月08日 10:28:47   作者:酷ku的森  
這篇文章給大家介紹redis的主從模式復制的具體步驟,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,感興趣的朋友一起看看吧

在分布式系統(tǒng)中,希望使用多個服務器來部署redis,存在以下幾種redis的部署方式:

1.主從模式 2.主從模式+哨兵模式 3.集群模式

主從模式的優(yōu)點:可以實現(xiàn)讀寫分離,數(shù)據備份,還能提高讀并發(fā)。

讀取數(shù)據都在多個從節(jié)點中進行讀

多個從節(jié)點都是主節(jié)點的備份,如果主節(jié)點掛了,就可以根據從節(jié)點進行數(shù)據恢復。

因為服務器多了,不再像之前的單點服務器,在高并發(fā)場景下,也能進行讀取數(shù)據。

主從模式:

假如此時有3臺機器,分別部署了redis-server進程。之前一臺機器掛了,redis就掛了,但是現(xiàn)在3臺機器同時掛的概率就小了,redis也就不容易掛了。

此時就可以把其中一個節(jié)點作為“主節(jié)點”,另外兩個作為“從節(jié)點”。從節(jié)點就是主節(jié)點的一個備份,主節(jié)點這邊有什么數(shù)據修改,都會把這樣的修改同步到從節(jié)點上。(從節(jié)點就是主節(jié)點的副本)

注意:redis在主從模式中,是不允許修改從節(jié)點的,只能從從節(jié)點讀取數(shù)據。

主從模式的作用:主要針對“讀操作”進行 并發(fā)量和可用性的提高。

寫操作依賴主節(jié)點。但是主節(jié)點只有一個(如果有多個主節(jié)點,同步數(shù)據是很麻煩的),在業(yè)務場景中,讀操作往往就是比寫操作更頻繁。

主從數(shù)據的同步:

redis提供了psync命令,完成了數(shù)據同步的過程。

psync不需要咱們手動執(zhí)行,redis服務器會在建立好主從同步關系之后,自動進行psync。

從節(jié)點主動執(zhí)行psync,從主節(jié)點這邊拉取數(shù)據。

pysnc replicationid offset

replicationid 是主節(jié)點生成的,主節(jié)點每次重啟,生成的replicationid都是不同的,當從節(jié)點和主節(jié)點建立復制關系的時候,就會從主節(jié)點這邊獲取到replicationid。

offset 偏移量,主節(jié)點和從節(jié)點都會維護 偏移量(整數(shù))

主節(jié)點的偏移量:主節(jié)點會收到修改操作的命令,這些命令都會占用幾個字節(jié),然后主節(jié)點就會把這些修改命令,字節(jié)數(shù)進行累加。

從節(jié)點的偏移量:描述了現(xiàn)在從節(jié)點的數(shù)據同步到什么位置了。

pysnc這里可以從主節(jié)點獲取全量數(shù)據,也可以獲取一部分數(shù)據。

如果offset這里寫的是-1,就是獲取全量數(shù)據。

如果offset這里寫的是具體的數(shù)字,就是從當前偏移量位置來進行獲取。

全量復制具體步驟:

1.從節(jié)點發(fā)送psync命令給主節(jié)點進行數(shù)據同步,因為是第一次進行復制,從節(jié)點沒有主節(jié)點的運行ID和復制偏移量,所以發(fā)送psync ?-1。

2.主節(jié)點根據命令,解析出要進行全量復制,回復+FULLRESYNC響應。

3.從節(jié)點接收主節(jié)點的運行信息進行保存。

4.主節(jié)點執(zhí)行bgsave進行RDB文件的持久化。 

5.主節(jié)點發(fā)送RDB文件給從節(jié)點。從節(jié)點保存RDB數(shù)據到本地硬盤。

6.主節(jié)點將在生成rdb到接收完成期間執(zhí)行的寫命令,在緩沖區(qū)中,等到從節(jié)點把RDB文件保存完之后,主節(jié)點再將緩沖區(qū)內的數(shù)據補發(fā)給從節(jié)點。補發(fā)的數(shù)據扔然按照RDB的二進制格式追加寫入到已經接收到的rdb文件中,保持主從一致性。

7.從節(jié)點清空自身原有的舊數(shù)據。

8.從節(jié)點加載RDB文件得到與主節(jié)點的一致的數(shù)據。

9.如果從節(jié)點加載了RDB文件之后,并且開啟了AOF持久化功能,它會進行bgrewriteaof操作,得到最近的AOF文件。

部分復制的具體步驟:

1.當主從節(jié)點之間出現(xiàn)網絡中斷時,如果超過repi-timeout時間,主節(jié)點會認為從節(jié)點故障并終止復制連接。

2.主從連接中斷期間主節(jié)點依然響應命令,但這些復制命令都因網絡中斷無法及時發(fā)送給從節(jié)點,所以暫時將這些命令滯留在復制積壓緩沖區(qū)中。

3.當主從節(jié)點網絡恢復后,從節(jié)點再次連上主節(jié)點。

4.從節(jié)點將之前保存的replicationid和復制偏移量作為psync的參數(shù)發(fā)送給主節(jié)點。請求進行部分復制。

5.主節(jié)點接到psync請求后,進行必要的驗證,隨后根據offset去復制積壓緩沖區(qū)查找合適的數(shù)據,并響應+COUNTINUE給從節(jié)點。

6.主節(jié)點將需要從節(jié)點同步的數(shù)據發(fā)送給從節(jié)點,最終完成一致性。

實時復制:

從節(jié)點和主節(jié)點已經同步好了數(shù)據,但是主節(jié)點會源源不斷的進行收到新的修改數(shù)據的請求。

主節(jié)點上的數(shù)據就會隨之改變。也需要能夠同步到從節(jié)點。從節(jié)點和主節(jié)點會建立TCP的長連接。

然后主節(jié)點把自己收到的修改數(shù)據的請求,通過上述連接,發(fā)給從節(jié)點,從節(jié)點再根據這些請求,修改內存中的數(shù)據。

主從復制的問題:當主節(jié)點掛了,只剩下從節(jié)點的時候,雖然能夠提供讀取數(shù)據的操作,但是從節(jié)點不能自動升級成主節(jié)點。此時就需要程序員手動恢復主節(jié)點。

到此這篇關于redis的主從模式復制的具體步驟的文章就介紹到這了,更多相關redis主從模式復制內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 查看redis占用內存的實現(xiàn)方法

    查看redis占用內存的實現(xiàn)方法

    這篇文章主要介紹了查看redis占用內存的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Redis緩存異常常用解決方案總結

    Redis緩存異常常用解決方案總結

    Redis緩存異常問題分別是緩存雪崩,緩存預熱,緩存穿透,緩存降級,緩存擊穿,本文主要介紹了Redis緩存異常常用解決方案總結,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Redis 命令整理并說明如何使用

    Redis 命令整理并說明如何使用

    這篇文章主要介紹了Redis 命令整理并說明如何使用的相關資料,需要的朋友可以參考下
    2017-02-02
  • redis加鎖的三種方式小結

    redis加鎖的三種方式小結

    本文主要介紹了redis加鎖的三種方式小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • Redis性能監(jiān)控的實現(xiàn)

    Redis性能監(jiān)控的實現(xiàn)

    本文使用 redis_exporter + prometheus +grafana 實現(xiàn)對Redis服務進行監(jiān)控,原因:成本低,人工干預少,感興趣的可以了解一下
    2021-07-07
  • Redis實現(xiàn)分布式鎖全過程

    Redis實現(xiàn)分布式鎖全過程

    文章介紹Redis實現(xiàn)分布式鎖的方法,包括使用SETNX和EXPIRE命令確?;コ庑耘c防死鎖,Redisson客戶端提供的便捷接口,以及Redlock算法通過多節(jié)點共識提高容錯性,同時強調需合理設置鎖過期時間、唯一標識,并注意網絡分區(qū)問題
    2025-08-08
  • Redis跨主機連接超時問題的解決方案

    Redis跨主機連接超時問題的解決方案

    在微服務架構中,服務間通信的穩(wěn)定性是系統(tǒng)可用性的重要保障,我們在近期一次線上排查中,遇到了一個 Redis 跨主機連接頻繁超時的問題,所以本文給大家分享一下Redis跨主機連接超時問題的解決方案,需要的朋友可以參考下
    2025-09-09
  • 利用redis lua腳本實現(xiàn)時間窗分布式限流

    利用redis lua腳本實現(xiàn)時間窗分布式限流

    Lua是一種輕量小巧的腳本語言,Redis是高性能的key-value內存數(shù)據庫,在部分場景下,是對關系數(shù)據庫的良好補充,本文給大家介紹了如何利用redis lua腳本實現(xiàn)時間窗分布式限流,需要的朋友可以參考下
    2024-03-03
  • 解鎖redis鎖的正確姿勢

    解鎖redis鎖的正確姿勢

    這篇文章主要為大家詳細介紹了解鎖redis鎖的正確姿勢,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 推薦幾款 Redis 可視化工具(太厲害了)

    推薦幾款 Redis 可視化工具(太厲害了)

    這篇文章主要介紹了推薦幾款 Redis 可視化工具,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-04-04

最新評論