2015-11-13 102 views
1

我最近將Redis配置爲使用AOF以及RDB快照。Redis在啓動時不加載AOF

但是,它看起來不像在服務器啓動時正確重播AOF。

我停止了該服務。然後我確定/var/redis/appendonly.aof使用有效。

然後我再次啓動服務器。在這一刻,RDB文件是空的。這是我需要研究的另一個問題 - Redis不時開始丟失所有數據。

在日誌文件中我可以看到AOF應該正確裝入:

DB loaded from append only file: 1.474 seconds

然而,當我嘗試讀取值,我知道應該在那裏,我得到什麼:

127.0.0.1:6379> get iQube:Live:wordCount:2015:11:13:10:6 
(nil) 

在AOF不過,也有類似以下的命令:

INCRBY 
$36 
iQube:Live:wordCount:2015:11:13:10:6 
$1 
2 
*2 
$4 

有什麼我需要做的,以使這項工作?

+0

什麼Redis的版本是您使用?你在'redis.conf'中有'save'命令嗎? – Niloct

+0

我正在使用3.0.5。在配置我有(我相信)默認值:'保存900 1','保存300 10'和'保存60 10000' – twoflower

+0

列出服務重新啓動後的密鑰。有沒有? – Niloct

回答

0

我的錯。我沒有正確保護服務器,併成爲可能的most typical attack to Redis的目標。實際上,AOF文件包含flushall命令,這些命令在加載時擦除了DB清理。

最起碼,我建議把這些三行redis.conf

rename-command CONFIG someverylongandveryunguessablestring 
rename-command FLUSHDB "" 
rename-command FLUSHALL ""