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