1.什么是redis持久化機(jī)制
redis持久化機(jī)制就是將內(nèi)存中的數(shù)據(jù)存入到磁盤當(dāng)中進(jìn)行保存,保證在數(shù)據(jù)丟失時(shí)能快速找回
2.redis持久化機(jī)制的方式
rdb描述
rdb方式是以快照的方式將數(shù)據(jù)持久化到磁盤以二進(jìn)制文件dump.rdb進(jìn)行保存
rdb示例圖:

rdb方式配置
打開redis.conf文件搜索save "" 關(guān)鍵字,找到系統(tǒng)默認(rèn)配置

save 900 1 #在900秒(15分鐘)之后,如果至少有1個(gè)key發(fā)生變化,則dump內(nèi)存快照
save 300 10 #在300秒(5分鐘)之后,如果至少有10個(gè)key發(fā)生變化,則dump內(nèi)存快照
save 60 10000 #在60秒(1分鐘)之后,如果至少有10000個(gè)key發(fā)生變化,則dump內(nèi)存快照
aof描述
aof是將命令通過日志的方式進(jìn)行存儲(chǔ),aof存儲(chǔ)分為三種同步方式
appendfsync always #每次有數(shù)據(jù)修改發(fā)生時(shí)都會(huì)寫入AOF文件,能夠保證數(shù)據(jù)不丟失,但是效率非常低
appendfsync everysec #每秒鐘同步一次,可能會(huì)丟失1s內(nèi)的數(shù)據(jù),但是效率非常高
appendfsync no #從不同步,高效但是數(shù)據(jù)不會(huì)被持久化
aof的配置方式
打開redis.conf文件搜索appendfsync關(guān)鍵字,找到系統(tǒng)默認(rèn)配置

aof配置 always 與 everysec的區(qū)別
always只要執(zhí)行命令就進(jìn)行持久化,無緩沖區(qū)效率低。everysec可以配置時(shí)間段進(jìn)行持久化,有緩沖區(qū)效率高。
always示例圖

everysec示例圖

總結(jié)
rdb持久化是全局同步方式(按照周期性進(jìn)行數(shù)據(jù)的持久化),rdb持久化數(shù)據(jù)可能在某時(shí)間點(diǎn)上宕機(jī)后存在數(shù)據(jù)丟失,rdb持久化數(shù)據(jù)效率低,二進(jìn)制方式恢復(fù)數(shù)據(jù)速度快
aof持久化是全局增量同步方式(對(duì)行為進(jìn)行操作持久化數(shù)據(jù)),aof持久化數(shù)據(jù)也會(huì)存在某時(shí)間節(jié)點(diǎn)丟失數(shù)據(jù),aof持久化數(shù)據(jù)效率高,以命令方式恢復(fù)數(shù)據(jù)速度慢