Redis的持久化

redis的高性能是由於將其所以數據都存儲在內存中,爲了使redis在重啓之後扔能保證數據不丟失,需要將數據從內存中同步到硬盤中,這一過程就是持久化。

redis支持兩種方式的持久化,一種是RDB方法,一種是AOF方法。可以單獨使用其實一種或者二者結合使用。

1.RDB持久化(默認支持,無需配置)

該機制是指在指定的時間間隔內將內存中的數據快照寫入硬盤。

優點:相比AOF機制,如果數據集很大,RDB的啓動效率會更高,性能會好一些。

缺點:因爲RDB是每隔一段時間才創建快照存儲磁盤的,這段時間內如果發生問題,比如服務器蹦了等,那麼這段時間內的數據沒有存儲磁盤而丟失。

在redis.conf配置文件可以設置創建快照存儲磁盤的時間:

save 900 1   每900秒(15分鐘)至少有1個key發生變化

save 300 10   每300秒(5分鐘)至少有10個key發生變化

save 60 10000   每60秒(1分鐘)至少有10000個key發生變化



2.AOF持久化

該機制將已操作日誌的方式,記錄服務器所處理的每一個操作,在redis服務器啓動時,讀取日誌文件來重新構建數據庫,以保證數據庫中的數據是完整的。

優點:該機制可以帶來更高的數據安全性,其策略中,有每秒同步,每修改key就同步兩種方式。

缺點:AOF文件通常要大於RDB文件,運行效率往往也會慢於RDB.

always  每次數據修改都會寫入AOF文件

everysec 每秒寫入一次

no 從不同步寫入

在redis.conf配置文件可以設置:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章