亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

redis實現數據同步的方法

發布時間:2020-06-25 19:51:50 來源:億速云 閱讀:657 作者:Leah 欄目:關系型數據庫

本篇文章為大家展示了redis實現數據同步的方法,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Redis的主從同步機制可以確保redis的master和slave之間的數據同步。

同步方式包括:全量復制和增量復制                            

全量拷貝

redis實現數據同步的方法

slave第一次啟動時,連接Master,發送PSYNC命令,格式為psync {runId} {offset}

{runId} 為master的運行id;{offset}為slave自己的復制偏移量。
slave第一次連接master時,slave并不知道master的runId,也不知道自己偏移量,這時候slave會傳一個問號和-1,告訴master節點是第一次同步。格式為psync ? -1

當master接收到psync ? -1時,知道slave是要全量復制,就會將自己的runId和offset告知slave,回復命令fullresync {runId} {offset}。同時,master會執行bgsave命令來生成rdb文件,期間的所有寫命令將被寫入緩沖區。

slave接受到master的回復命令后,會保存master的runId和offset,slave此時處于同步狀態。
slave處于同步狀態,如果此時收到請求,當配置參數slave-server-stale-data yes時,會響應當前請求;slave-server-stale-data no,返回錯誤。

master bgsave執行完畢,向slave發送rdb文件。rdb文件發送完畢后,開始向slave發送緩沖區中的寫命令。

slave收到rdb文件,丟棄所有舊數據,開始載入rdb文件。

rdb文件同步結束之后,slave執行從master緩沖區發送過來的所以寫命令。

此后 master 每執行一個寫命令,就向slave發送相同的寫命令。

增量拷貝

如果出現網絡閃斷或者命令丟失等異常情況時,當主從連接恢復后,由于從節點之前保存了自身已復制的偏移量和主節點的運行ID。因此會把它們當作psync參數發送給主節點,要求進行部分復制操作,格式為psync {runId} {offset}。

主節點接到psync命令后首先核對參數runId是否與自身一致,如果一致,說明之前復制的是當前主節點;之后根據參數offset在自身復制積壓緩沖區查找,如果偏移量之后的數據存在緩沖區中,則對從節點發送+continue響應,表示可以進行部分復制;否則進行全量復制。

主節點根據偏移量把復制積壓緩沖區里的數據發送給從節點,保證主從復制進入正常狀態。

上述內容就是redis實現數據同步的方法,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西充县| 邹平县| 新源县| 武冈市| 天峻县| 儋州市| 鄄城县| 邯郸市| 军事| 萨嘎县| 古蔺县| 明光市| 黄骅市| 渭南市| 东乌珠穆沁旗| 沙河市| 浏阳市| 汽车| 林甸县| 东莞市| 库尔勒市| 扎鲁特旗| 修文县| 卓尼县| 荃湾区| 乌海市| 达拉特旗| 尉氏县| 松原市| 华池县| 青神县| 西平县| 永城市| 白城市| 鄂托克旗| 岳普湖县| 定安县| 平舆县| 乌什县| 宣恩县| 临西县|