RDB的觸發(fā)方式
手動(dòng)觸發(fā):通過命令手動(dòng)生成快照
自動(dòng)觸發(fā):通過配置參數(shù)的設(shè)置觸發(fā)自動(dòng)生成快照
1.手動(dòng)觸發(fā)
執(zhí)行save和bgsave命令,手動(dòng)觸發(fā)快照,生成RDB文件
save: 該命令會(huì)阻塞當(dāng)前redis服務(wù)器,執(zhí)行save命令期間,redis不能處理其他命令,直到RDB過程結(jié)束為止(會(huì)造成長(zhǎng)時(shí)間阻塞,不建議使用)
bgsave:該命令執(zhí)行后,redis會(huì)在后臺(tái)異步進(jìn)行快照操作,快照同時(shí)還可以響應(yīng)客戶端的請(qǐng)求,阻塞只發(fā)生在fork階段,基本上redis內(nèi)部的所有RDB操作都是采用bgsave命令
2.自動(dòng)觸發(fā)
1、redis.conf配置文件中達(dá)到save參數(shù)的條件,自動(dòng)觸發(fā)bgsave
2、主從復(fù)制時(shí),從節(jié)點(diǎn)要從主節(jié)點(diǎn)進(jìn)行全量復(fù)制時(shí)也會(huì)觸發(fā)bgsave,生成快照發(fā)送到從節(jié)點(diǎn)
3、執(zhí)行shutdown(關(guān)閉redis服務(wù)),會(huì)觸發(fā)bgsave
4、執(zhí)行flushall(生成一個(gè)空的臨時(shí)文件dump.rdb)