Redis持久化配置
Redis的持久化有2種方式 1快照 2是日志
Rdb快照的配置選項
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日志功能,若要禁用aof則設定為no并将aof檔案改名
appendfsync always # 每1個指令,都立即同步到aof. 安全,速度慢
appendfsync everysec # 折衷方案,每秒寫1次
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時,重寫
BGREWRITEAOF 背景程序重寫AOF
BGSAVE 背景儲存rdb快照
SAVE 儲存rdb快照
LASTSAVE 上次儲存時間
注: 在dump rdb過程中,aof如果停止同步,會不會丢失?
答: 不會,所有的操作緩存在記憶體的隊列裡, dump完成後,統一操作.
注: aof重寫是指什麼?
答: aof重寫是指把記憶體中的資料,逆化成指令,寫入到.aof日志裡.
以解決 aof日志過大的問題.
問: 如果rdb檔案,和aof檔案都存在,優先用誰來恢複資料?
答: aof
問: 2種是否可以同時用?
答: 可以,而且推薦這麼做
問: 恢複時rdb和aof哪個恢複的快
答: rdb快,因為其是資料的記憶體映射,直接載入到記憶體,而aof是指令,需要逐條執行