????:什么是redis的aof?aof 是 appendonly file 的縮寫, 是redis系統(tǒng)提供的一種記錄redis操作的持久化方案, 在aof生成的文件中, 將記錄發(fā)生在redis的操作, 從而達到在redis服務(wù)器重啟或者宕機后, 繼續(xù)恢復(fù)之前的數(shù)據(jù)狀態(tài)AOF文件的保存位置和 RDB文件的位置相同,都是通過dir參數(shù)設(shè)置的,默認的文件名是appendonly.aof,可以通過appendf
什么是redis的aof?
aof 是 appendonly file 的縮寫, 是redis系統(tǒng)提供的一種記錄redis操作的持久化方案, 在aof生成的文件中, 將記錄發(fā)生在redis的操作, 從而達到在redis服務(wù)器重啟或者宕機后, 繼續(xù)恢復(fù)之前的數(shù)據(jù)狀態(tài)
AOF文件的保存位置和 RDB文件的位置相同,都是通過dir參數(shù)設(shè)置的,默認的文件名是
appendonly.aof,可以通過appendfilename參數(shù)修改
aof的配置參數(shù)
appendonly no #是否打開aof日志功能 appendfsync always #每一個命令, 都立即同步到aof, 安全, 速度慢 appendfsync everysec #折中方案, 每秒寫一次 appendfsync no #寫入工作交給操作系統(tǒng), 由操作系統(tǒng)判斷緩存去大小, 統(tǒng)一寫入到aof, 同步頻率低, 速度快 no-appendfsync-on-rewrite yes #正在導(dǎo)出 rdb 快照過程中, 要不要停止同步 aof auto-aof-rewrite-percentage 100 #aof文件大小比起上次重寫時的大小, 增長率 100% 時, 重寫 auto-aof-rewrite-min-size 64mb #aof文件, 至少超過 64M 時重寫
問: 在dump rdb過程中, aof如果停止同步數(shù)據(jù)會不會丟失?
答: 不會, 所有的操作緩存在內(nèi)存的隊列里, dump完成后統(tǒng)一操作
問: aof重寫是什么
答: aof重寫是指把內(nèi)存中的數(shù)據(jù), 逆化成命令, 寫入 .aof 日志里, 以解決 aof 日志過大的問題
問: 如果rdb文件和aof文件都存在, 優(yōu)先用誰來恢復(fù)數(shù)據(jù)?
答: aof
問: 兩種是否可以同時使用?
答: 可以, 推薦這樣做
問: 恢復(fù)時rdb和aof哪個恢復(fù)的快?
答: rdb快, 因為它是數(shù)據(jù)的內(nèi)存映射, 而aof是命令, 需要逐條執(zhí)行
Redis允許同時開啟AOF和RDB,既保證了數(shù)據(jù)安全又使得進行備份等操作十分容易。此時重新啟動Redis后, Redis會使用AOF文件來恢復(fù)數(shù)據(jù)
實際上當Redis服務(wù)器掛掉后, 重啟時將按照以下恢復(fù)數(shù)據(jù)到內(nèi)存
如果只配置AOF,重啟時加載AOF文件恢復(fù)數(shù)據(jù)
如果同時 配置了RDB和AOF,啟動是只加載AOF文件恢復(fù)數(shù)據(jù)
如果只配置RDB,啟動是將加載dump文件恢復(fù)數(shù)據(jù)