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