真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何理解Redis主從復制的全量和增量同步

如何理解redis主從復制的全量和增量同步,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元金水做網(wǎng)站,已為上家服務(wù),為金水各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

全量同步:
1.slave服務(wù)器連接到master服務(wù)器,發(fā)送SYNC命令
     slave服務(wù)器通過 syncWithMaster() 函數(shù)來連接 Master 服務(wù)器(如果Master服務(wù)器需要密碼登錄的話,先登錄),并且發(fā)送SYNC命令請求同步,接著打開 rdb 文件(用于存儲由Master發(fā)送過來的數(shù)據(jù)),創(chuàng)建讀rdb 的 IO 事件(readSyncBulkPayload)
2.master服務(wù)器備份數(shù)據(jù)庫到 .rdb 文件
     當slave服務(wù)器發(fā)送SYNC命令到master服務(wù)器時,master 服務(wù)器變回調(diào)用 syncCommand() 函數(shù)來進行同步,同步的第一步便是把數(shù)據(jù)庫的數(shù)據(jù)存儲為 rdb 文件,存儲完畢后調(diào)用updateSalvesWaitingBgsave()函數(shù)來發(fā)送 rdb 文件給所有的slave 服務(wù)器,updateSlavesWaitingBgsave() 要做的事情是, 打開 rdb 文件, 創(chuàng)建發(fā)送 rdb 文件 IO 事件(sendBulkToSlave). 而sendBulkToSlave()主要的工作就是把rdb文件發(fā)送給 Slave 服務(wù)器。而當 Slave 服務(wù)器接收 rdb 文件完畢之后(readSyncBulkPayload()函數(shù)處理), 會清空原來數(shù)據(jù)庫的數(shù)據(jù),然后把 rdb 文件的數(shù)據(jù)導入到數(shù)據(jù)庫中
3.全量同步完成
     完成上面的步驟,全量同步基本完成。
增量同步:
     增量同步就是當 master 服務(wù)器有數(shù)據(jù)更新的時候,會立刻同步到所有的 slave 服務(wù)器
1.當我們在 master 服務(wù)器增減數(shù)據(jù)的時候,就會觸發(fā) replicationFeedSalves()函數(shù),接下來在 Master 服務(wù)器上調(diào)用的每一個命令都會使用replicationFeedSlaves() 函數(shù)來同步到Slave服務(wù)器。當然,在執(zhí)行此函數(shù)之前master 服務(wù)器會判斷用戶執(zhí)行的命令是否有數(shù)據(jù)更新,如果有數(shù)據(jù)更新并且slave 服務(wù)器不為空,才會執(zhí)行此函數(shù),而此函數(shù)主要的工作就是把用戶執(zhí)行的命令發(fā)送到所有的 slave服務(wù)器,讓 slave 服務(wù)器執(zhí)行,這樣就可以實施同步功能了。

關(guān)于如何理解Redis主從復制的全量和增量同步問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


本文標題:如何理解Redis主從復制的全量和增量同步
地址分享:http://weahome.cn/article/gpsjep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部