91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

彰化市| 得荣县| 防城港市| 抚远县| 乐亭县| 澄江县| 威信县| 连云港市| 宣化县| 达州市| 河西区| 聂荣县| 三门峡市| 千阳县| 镇沅| 漯河市| 上思县| 遵义市| 永平县| 漳平市| 武隆县| 小金县| 蒲江县| 郴州市| 淳安县| 扎赉特旗| 视频| 西乡县| 平江县| 苏州市| 塔河县| 古交市| 开阳县| 滨海县| 都江堰市| 东台市| 周至县| 开封县| 宜川县| 安庆市| 揭西县|