【redis專題(14)】持久化配置

概述

Redis的持久化有2種方式:快照rdb日誌aof
因爲rdb是在某個時間點來備份的,直接備份二進制映像文件,恢復速度快。可是因爲是在時間點備份的,在備份以前進程忽然被殺掉就致使上個備份點到這個備份點之間的數據都丟失了;因此要結合Aof日誌來一塊兒備份,再加上一個主從配置就比較完美了;redis

快照配置

save 900 1      #900秒內,有1條寫入,則產生快照 
save 300 1000   #若是300秒內有1000次寫入,則產生快照
save 60 10000   #若是60秒內有10000次寫入,則產生快照  
# 從下往上,一個梯形結構;
# 這3個選項都屏蔽,則rdb禁用;

stop-writes-on-bgsave-error yes #後臺備份進程出錯時,主進程停不中止寫入?不中止寫入的話,有可能數據一致性出現誤差 
rdbcompression yes               #導出的rdb文件是否壓縮
Rdbchecksum   yes                #導入rbd恢復時數據時,要不要檢驗rdb的完整性
dbfilename    dump.rdb           #導出來的rdb文件名
dir ./                           #rdb的放置路徑

Aof的配置

appendonly no  # 是否打開aof日誌功能
appendfsync everysec # 折中方案,每秒寫1次
appendfsync always   # 每1個命令,都當即同步到aof. 安全,速度慢
appendfsync no       # 寫入工做交給操做系統,由操做系統判斷緩衝區大小,統一寫入到aof. 同步頻率低,速度快;
no-appendfsync-on-rewrite  yes  # 正在導出rdb快照的過程當中,要不要中止同步aof
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重寫時的大小,增加率100%時,重寫
auto-aof-rewrite-min-size 64mb  #aof文件,至少超過64M時,重寫
重寫: redis內存裏的key-value逆化;好比set num 1,incr num 1....到100;把這一百個遞增的結果直接逆化成set num 100;而不是再搞一百個命令;

問題解答

問: 在dump rdb過程當中,aof若是中止同步,會不會丟失?
答: 不會,全部的操做緩存在內存的隊列裏, dump完成後,統一操做.緩存

問: aof重寫是指什麼?
答: aof重寫是指把內存中的數據,逆化成命令,寫入到.aof日誌裏.以解決aof日誌過大的問題.安全

問: 若是rdb文件,和aof文件都存在,優先用誰來恢復數據?
答: aof服務器

問: 2種是否能夠同時用?
答: 能夠,並且推薦這麼作app

問: 恢復時rdb和aof哪一個恢復的快
答: rdb快,由於其是數據的內存映射,直接載入到內存,而aof是命令,須要逐條執行redis 服務器端命令操作系統

相關文章
相關標籤/搜索