大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Redis同步數據庫的實現方法

Redis同步數據庫的實現方法

更新時間:2021-11-22 10:50:24 來源:動力節點 瀏覽1871次

很多小伙伴對Redis同步數據庫的實現方法不是很了解,小編來為大家講解一下,Redis的主從同步機制可以確保redis的master和slave之間的數據同步。

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

全量拷貝

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同步數據庫的實現方法已經有所了解,大家如果想了解更多相關知識,不妨來關注一下動力節點的Java在線學習,里面的內容豐富,從淺到深,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成年性视频bbixx | 天天狠狠弄夜夜狠狠躁·太爽了 | 日韩在线欧美高清一区 | 国产一级毛片国语普通话对白 | 69日本xxxxxxxx59| 久久99免费| 四虎永久影院 | 91精品国产色综合久久不卡蜜 | 波多野结衣久久高清免费 | 亚洲成人看片 | 青草青青在线视频观看 | 国产在线视频99 | 欧美色插| 一本到视频在线观看 | 精品国产第一国产综合精品gif | 欧美久久精品 | 老子影院午夜久久亚洲 | 久久综合色之久久综合 | 草草在线观看视频 | 全免费毛片在线播放 | 久久香蕉国产线看观看精品蕉 | 亚洲免费a | 精品美女视频在线观看2023 | 精品国产一级毛片大全 | 日韩a毛片 | 妖精视频一区二区三区 | 99人中文字幕亚洲区 | 欧美一级日韩在线观看 | 欧美成人午夜精品一区二区 | 99日影院在线播放 | 91成年人| 九九九久久久久久久爱 | 九九九热| 日日操免费视频 | 国产一区二三区 | 神马毛片 | 风流一代在线播放 | 国产一级一级一级成人毛片 | 国产成+人+亚洲+欧美综合 | 日本不卡高清免费v | 久久久久久草 |