這個問題是關於Redis持久性的。redis中的AOF和RDB備份
我使用redis作爲社交網站的「快速後端」。這是一個單一的服務器設置。我一直在穩步地將PostgreSQL的職責轉移給Redis。目前在etc/redis/redis.conf
中,附加設置設置爲appendonly no
。快照設置爲save 900 1
,save 300 10
,save 60 10000
。所有這一切都適用於生產和開發。根據生產日誌,save 60 10000
會被大量調用。這是否意味着實際上,我每60秒獲得一次備份?
一些文獻建議將AOF和RDB備份一起使用。因此我正在考慮轉向appendonly on
並使用appendfsync everysec
。對於曾經有過兩面硬幣經驗的人:
1)會不會使用appendonly on
和appendfsync everysec
導致性能下降?它會撞到CPU嗎?寫入負載偏高。
2)一旦我用這些新設置重新啓動redis服務器,我仍然會丟失數據的最後60秒,對不對?
3)重啓時間是否需要擔心?我的dump.rdb
文件很小; 〜90MB。
我試圖找出更多關於redis持久性,並得到我的期望。就我個人而言,在發生災難的情況下,我丟掉了60多個數據,因此我是否應該使用AOF也是我正在思考的問題。歡迎隨時參加。謝謝!
我第一次打開'appendonly',我將不得不重新啓動。在那個時候,我將不會丟失數據,因爲直到那時AOF備份纔會存在? –
它應該從RDB重新創建,如果沒有AOF –
@HassanBaig ** NO !!! **你會失去一切。希望你還沒有做到這一點......一旦你在redis.conf中設置了'appendonly yes',並重新啓動Redis,無論文件是否存在,它都會從AOF文件加載數據。如果該文件不存在,它將創建一個空文件,並嘗試從該空文件加載數據。所以你會失去一切。實際上,您不必重新啓動Redis即可打開AOF。相反,你可以使用'config set'命令動態打開它:'config set appendonly yes' –