redis怎樣和數(shù)據(jù)庫實(shí)時同步的 redis持久化方式區(qū)別?
redis持久化方式區(qū)別?Rredis集群地址加載順序?集群的加載順序是:從機(jī)啟動后,向主機(jī)發(fā)送SYNC命令,主機(jī)收到SYNC命令后,通過bgsavredis增量同步原理?主從同步原理當(dāng)從數(shù)據(jù)庫啟動時
redis持久化方式區(qū)別?
R
redis集群地址加載順序?
集群的加載順序是:從機(jī)啟動后,向主機(jī)發(fā)送SYNC命令,主機(jī)收到SYNC命令后,通過bgsav
redis增量同步原理?
主從同步原理
當(dāng)從數(shù)據(jù)庫啟動時,它將向主數(shù)據(jù)庫發(fā)送同步命令。
主設(shè)備收到后,會在后臺保存快照,這就是我們所說的RDB持久化。當(dāng)然保存快照需要時間,redis是單線程的(redis后面也支持多線程,所以我們贏了 這里不談了)。在快照保存過程中,redis接收到的命令會被緩存,快照完成后,緩存的命令和快照會打包發(fā)送到從節(jié)點(diǎn),從而保證主從數(shù)據(jù)庫的一致性。
在收到數(shù)據(jù)庫的快照和緩存命令后,這部分?jǐn)?shù)據(jù)將被寫入硬盤上的臨時文件,寫入后RDB快照文件將被該文件替換。當(dāng)然,這個操作不會被阻止,命令可以繼續(xù)執(zhí)行。具體原因是fork創(chuàng)建了一個子流程,并使用子流程來完成這些功能。
因?yàn)樗粫枞?,在這部分初始化完成后,當(dāng)主數(shù)據(jù)庫執(zhí)行命令更改數(shù)據(jù)時,將被異步地給予slave,這就是我們所說的復(fù)制同步階段。該階段將貫穿主從同步的全過程,直到主從同步結(jié)束,復(fù)制同步才會終止。