在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/人工智能/ redis AOF重寫策略疑問

redis AOF重寫策略疑問

問題描述

使用Redis AOF重寫策略時,配置文件參數(shù)與實際效果不一致,參數(shù)如下:

appendonly yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 1mb

理論結(jié)果:

當(dāng)AOF文件首次達到1M時,觸發(fā)重寫策略
當(dāng)AOF文件再次達到2M時,觸發(fā)重寫策略
當(dāng)AOF文件再次達到4M時,觸發(fā)重寫策略
以此類推2^n,其中(n>=0)

實際結(jié)果:

當(dāng)AOF文件首次達到1M時,觸發(fā)重寫策略
當(dāng)AOF文件再次增大到1.6M,觸發(fā)了重寫策略
后續(xù)未再測試

問題出現(xiàn)的平臺版本及自己嘗試過哪些方法

CentOS7.4、Redis4.0.1

相關(guān)代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)

你期待的結(jié)果是什么?實際看到的錯誤信息又是什么?

問題:
如果按重寫規(guī)則來計算,重寫應(yīng)該遵循2^n,其中(n>=0),但實際測試時,第二次重寫并沒有在2M時生效,而是在1.6M左右,看了一下網(wǎng)上的源碼,自動觸發(fā)的條件為:

long long growth =(server.appendonly_current_size*100/base) - 100;
 if (growth >=server.auto_aofrewrite_perc)

AOF文件大小,是通過redis-cli info取值aof_current_size和aof_base_size

回答
編輯回答
愿如初

因為重寫的目的就是以通過合并命令的方式減少文件大小啊.

到 1M 時觸發(fā)重寫, 重寫后必然大小是少于 1M 的, 按照你的情況可以推算出重寫后大小變?yōu)?.8M, 所以下一次重寫發(fā)生在1.6M時.

2017年11月2日 09:02