Redis學習 持久化

2021-10-09 01:20:40 字數 963 閱讀 9591

一、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是乙個記憶體資料庫,那麼如果不做持久化的話,當redis伺服器守護程序退出,伺服器宕機,計算機斷電 就會導致記憶體中的資料丟失,如果redis只是作為乙個快取伺服器來用的話,那麼不會有什麼影響,但是如果作為乙個記憶體資料庫的話,當上面的情況發生就會出現丟失所有資料的重大事故 rdb red...

redis持久化 AOF持久化

1.aof持久化原理 aof持久化會將被執行的寫命令寫到aof檔案的末尾。在恢復的時候,redis只要從頭到尾重新執行一次aof檔案包含的所有寫命令 2.配置選項 固態硬碟禁用always選項,在某些情況頻繁讀寫會大大降低固態硬碟的壽命 4.aof檔案的重寫和壓縮 aof檔案裡面記錄了所有的命令而不...

Redis學習(8) redis持久化

記憶體 兔子 高效,斷電資料丟失 硬碟 烏龜 讀寫速度慢於記憶體的,斷電資料依舊存在 持久化 把資料儲存在硬碟上 關係型資料庫 mysql 持久化 非關係型資料庫 redis redis兩種持久化策略 rdb,aof 預設持久化機制 rdb rdb相當於快照,儲存的僅是一種狀態。20g資料 幾kb快...