RDB和AOF持久化方式的區(qū)別

上一篇 <<<Redis為啥要分為16個(gè)庫(kù)
下一篇 >>>Redis與數(shù)據(jù)庫(kù)的一致性解決方案


全量同步(RDB):就是每天定時(shí)(避開(kāi)高峰期)或者采用一個(gè)周期實(shí)現(xiàn)將數(shù)據(jù)拷貝到一個(gè)地方。
增量同步(AOF):比如采用對(duì)行為的操作實(shí)現(xiàn)對(duì)數(shù)據(jù)的同步。
增量同步比全量同步更加消耗服務(wù)器的內(nèi)存,但是能夠更加的保證數(shù)據(jù)的同步。

RDB與AOF的區(qū)別

相同點(diǎn)

只要配置了,rbd和aof文件就會(huì)生成,當(dāng)達(dá)到了同步的時(shí)間后,才會(huì)寫(xiě)入內(nèi)容。

不同點(diǎn)

  • 1.持久化同步方案不同



  • 2.同步策略不同

RDB方式
Redis會(huì)將數(shù)據(jù)集的快照dump到dump.rdb文件中。此外,我們也可以通過(guò)配置文件來(lái)修改Redis服務(wù)器dump快照的頻率,在打開(kāi)6379.conf文件之后,我們搜索save,可以看到下面的配置信息:
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)存快照。
修改配置:
rdbcompression yes
dbfilename dump.rdb
AOF方式
appendfsync always #每次有數(shù)據(jù)修改發(fā)生時(shí)都會(huì)寫(xiě)入AOF文件,能夠?qū)崟r(shí)的保證數(shù)據(jù)的安全性。
appendfsync everysec #每秒鐘同步一次,該策略為AOF的缺省策略。
appendfsync no #從不同步。高效但是數(shù)據(jù)不會(huì)被持久化。
修改配置:
redis.conf中 appendonly yes,默認(rèn)是no

  • 3.數(shù)據(jù)存儲(chǔ)不同

RDB的dump文件是二進(jìn)制數(shù)據(jù)


aof是閱讀性較好的寫(xiě)命令信息

  • 4.恢復(fù)速度不同

1G的RDB數(shù)據(jù)恢復(fù)耗時(shí)大概20s,比AOF要快的多

使用建議

Redis默認(rèn)開(kāi)啟了持久化功能,而且是全量RDB的,缺點(diǎn)是服務(wù)器宕機(jī)后可能會(huì)造成數(shù)據(jù)丟失。
建議最好還是搭配使用aof的everysec,既能夠保證數(shù)據(jù)的同步,效率也還可以,但是會(huì)存在丟失一秒數(shù)據(jù)的可能性,就算丟失也關(guān)系不大,因?yàn)閿?shù)據(jù)庫(kù)中已經(jīng)存在了數(shù)據(jù)。


推薦閱讀:
<<<分布式緩存與本地緩存的區(qū)別
<<<Ehcache基礎(chǔ)知識(shí)
<<<SpringBoot整合Ehcache
<<<Redis的5種數(shù)據(jù)類型
<<<Redis存放實(shí)體對(duì)象的方式及區(qū)別
<<<Redis的應(yīng)用場(chǎng)景匯總
<<<Redis高效及線程安全的真正原因
<<<Redis為啥要分為16個(gè)庫(kù)
<<<Redis與數(shù)據(jù)庫(kù)的一致性解決方案
<<<SpringBoot整合Redis的注解版本完成數(shù)據(jù)緩存
<<<Redis的淘汰策略
<<<Redis的事務(wù)操作(Mult和Watch)知識(shí)點(diǎn)
<<<Redis的過(guò)期機(jī)制使用場(chǎng)景示例
<<<Redis實(shí)現(xiàn)分布式鎖的原理分析
<<<Redis分布式鎖的實(shí)現(xiàn)代碼示例
<<<使用Redisson工具實(shí)現(xiàn)分布式鎖
<<<Redis集群模式之主從復(fù)制原理及存在的缺陷
<<<Redis集群模式之哨兵模式
<<<Redis集群模式之Cluster去中心化分片集群
<<<Linux環(huán)境下安裝單機(jī)Redis
<<<Redis Cluster集群環(huán)境搭建
<<<Redis Cluster如何動(dòng)態(tài)擴(kuò)容與縮容
<<<Redis Cluster主從節(jié)點(diǎn)自動(dòng)切換
<<<Redis集群模式的類型和缺陷匯總
<<<Redis緩存的穿透、擊穿和雪崩效應(yīng)
<<<Redis解決穿透擊穿問(wèn)題時(shí)使用的布隆過(guò)濾器知識(shí)點(diǎn)
<<<Redis與MySQL的數(shù)據(jù)同步解決方案
<<<阿里云的Canal框架實(shí)現(xiàn)Redis與Mysql同步原理及代碼示例
<<<阿里云的Canal框架配置
<<<Redis官方提出的redlock分布式鎖
<<<Redis的調(diào)優(yōu)設(shè)置
<<<Redis常見(jiàn)問(wèn)題匯總

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容