Redis持久化机制 -全量同步与增量同步的区别
全量同步與增量同步的區(qū)別
全量同步:就是每天定時(shí)(避開(kāi)高峰期)或者采用一個(gè)周期實(shí)現(xiàn)將數(shù)據(jù)拷貝到一個(gè)地方也就是Rdb存儲(chǔ)。
增量同步:比如采用對(duì)行為的操作實(shí)現(xiàn)對(duì)數(shù)據(jù)的同步,也就是AOF。
全量與增量的比較:增量同步比全量同步更加消耗服務(wù)器的內(nèi)存,但是能夠更加的保證數(shù)據(jù)的同步。
RDB與AOF實(shí)現(xiàn)持久化的區(qū)別
Redis提供了兩種持久化的機(jī)制,分別為RDB、AOF實(shí)現(xiàn),RDB采用定時(shí)(全量)持久化機(jī)制,但是服務(wù)器因?yàn)槟撤N原因宕機(jī)后可能數(shù)據(jù)會(huì)丟失,AOF是基于數(shù)據(jù)日志操作實(shí)現(xiàn)的持久化,所以AOF采用增量同步的方案。
Redis已經(jīng)幫助我默認(rèn)開(kāi)啟了rdb存儲(chǔ)。
Redis的RDB與AOF同步配置
RDB
Redis默認(rèn)采用rdb方式實(shí)現(xiàn)數(shù)據(jù)的持久化,以快照的形式將數(shù)據(jù)持久化到磁盤的是一個(gè)二進(jìn)制的文件dump.rdb, 在redis.conf文件中搜索“dump.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)存快照。
Set(包含增加和覆蓋)、del
Set name yushengjun
Set name mayikt
Del name
Aof
在Redis的配置文件中存在三種同步方式,它們分別是:
appendfsync always #每次有數(shù)據(jù)修改發(fā)生時(shí)都會(huì)寫入AOF文件,能夠保證數(shù)據(jù)不丟失,但是效率非常低。
appendfsync everysec #每秒鐘同步一次,可能會(huì)丟失1s內(nèi)的數(shù)據(jù),但是效率非常高。
appendfsync no #從不同步。高效但是數(shù)據(jù)不會(huì)被持久化。
直接修改redis.conf中 appendonly yes
建議最好還是使用everysec 既能夠保證數(shù)據(jù)的同步、效率也還可以。
Aof是以執(zhí)行命令的形式實(shí)現(xiàn)同步
總結(jié)
以上是生活随笔為你收集整理的Redis持久化机制 -全量同步与增量同步的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 国外博客地址,查问题方便
- 下一篇: MySQL与Redis一致性解决同步问题