一、redis提供了哪些持久化機制:
1). rdb持久化:
該機制是指在指定的時間間隔內將記憶體中的資料集快照寫入磁碟。
2). aof持久化:
該機制將以日誌的形式記錄伺服器所處理的每乙個寫操作,在redis伺服器啟動之初會讀取該檔案來重新構建資料庫,以保證啟動後資料庫中的資料是完整的。
3). 無持久化:
我們可以通過配置的方式禁用redis伺服器的持久化功能,這樣我們就可以將redis視為乙個功能加強版的memcached了。
4). 同時應用aof和rdb。
二、rdb機制的優勢和劣勢:
rdb存在哪些優勢呢?
1). 一旦採用該方式,那麼你的整個redis資料庫將只包含乙個檔案,這對於檔案備份而言是非常完美的。比如,你可能打算每個小時歸檔一次最近24小時的資料,同時還要每天歸檔一次最近30天的資料。通過這樣的備份策略,一旦系統出現災難性故障,我們可以非常容易的進行恢復。
2). 對於災難恢復而言,rdb是非常不錯的選擇。因為我們可以非常輕鬆的將乙個單獨的檔案壓縮後再轉移到其它儲存介質上。
3). 效能最大化。對於redis的服務程序而言,在開始持久化時,它唯一需要做的只是fork出子程序,之後再由子程序完成這些持久化的工作,這樣就可以極大的避免服務程序執行io操作了。
4). 相比於aof機制,如果資料集很大,rdb的啟動效率會更高。
rdb又存在哪些劣勢呢?
1). 如果你想保證資料的高可用性,即最大限度的避免資料丟失,那麼rdb將不是乙個很好的選擇。因為系統一旦在定時持久化之前出現宕機現象,此前沒有來得及寫入磁碟的資料都將丟失。
2). 由於rdb是通過fork子程序來協助完成資料持久化工作的,因此,如果當資料集較大時,可能會導致整個伺服器停止服務幾百毫秒,甚至是1秒鐘。
三、aof機制的優勢和劣勢:
總結 Redis持久化
該文章為知識總結的文章,如果是初學者,建議先從專欄學習 redis專欄 主要解決以下問題 比如你部署了乙個redis,作為cache快取,當然也可以儲存一些較為重要的資料 如果沒有持久化的話,redis遇到災難性故障的時候,就會丟失所有的資料 如果通過持久化將資料搞乙份兒在磁碟上去,然後定期比如說同...
redis持久化 AOF持久化
1.aof持久化原理 aof持久化會將被執行的寫命令寫到aof檔案的末尾。在恢復的時候,redis只要從頭到尾重新執行一次aof檔案包含的所有寫命令 2.配置選項 固態硬碟禁用always選項,在某些情況頻繁讀寫會大大降低固態硬碟的壽命 4.aof檔案的重寫和壓縮 aof檔案裡面記錄了所有的命令而不...
redis持久化之AOF持久化
aof與rdb持久化通過儲存資料庫中的鍵值對來記錄資料庫狀態不同,aof持久化是通過儲存redis伺服器所執行的寫命令來記錄資料庫狀態的。被寫入aof檔案的所有命令都是以redis的命令請求協議格式儲存的。當aof持久化功能處於開啟狀態,伺服器在執行完乙個寫命令之後,會以協議格式將被執行的寫命令追加...