2017-07-11 23 views
1

從我的理解來看,如果我正在運行本地apache開發服務器,Redis會在內存中使用它來收集我的RAM。我嘗試關閉計算機的電源並斷開電源線,但當我重新啓動計算機並再次測試我的測試網站時,本地服務器開發網站上的redis數據仍然存在。我在做系統重啓時認爲RAM數據被完全擦除,Redis如何在我的本地開發環境重新啓動後仍然保留數據?謝謝! :)Redis如何在我的本地Apache服務器上保留數據,即使重新啓動並完成關機後也是如此?

回答

2

Redis僅從RAM提供數據,但它提供持久性RDB(快照持久性)和AOF(更新日誌持久性)兩種模式。如果您的Redis服務器上啓用了任一種持久性模式,那麼您的數據將在重新啓動之間持續存在。

要檢查的配置指令是:

  • appendonly是
  • 保存

更多信息Redis Persistence這裏。

+0

哎,我讀你聯繫,並想知道Redis的持久性的文章,如果AOF是「追加唯一文件」,那麼什麼是RDB?我GOOGLE了它,它說這是一個用於Redis和N64遊戲的文件類型,這讓我感到困惑。 :) –

+2

RDB代表Redis數據庫文件。這是您的規則觸發保存操作時Redis實例狀態的快照。 –

2

Redis的具有在任一RDB或AOF格式(基本上保存Redis的數據到文件/日誌)保存Redis的數據存留選項:

  • 的RDB持久性執行點的時間點快照您的數據集在指定的時間間隔。

  • AOF持久性記錄服務器接收到的每個寫入操作,這些操作將在服務器啓動時再次播放,重建原始數據集。使用與Redis協議本身相同的格式以附加方式記錄命令。 Redis可以在背景變得太大時重寫日誌。

  • 如果您願意,只要服務器正在運行,只要您希望數據存在,就可以根本不使用持久性。
  • 可以在同一個實例中組合AOF和RDB。請注意,在這種情況下,當Redis重新啓動時,將使用AOF文件重建原始數據集,因爲它保證是最完整的。

這個信息是從https://redis.io/topics/persistence,其中進入有關這些選項的詳細報價。

你可以閱讀從Antirez博客更多:Redis Persistence Demystified

+0

RDB的首字母縮寫代表什麼?我認爲AOF是僅追加文件。 –

+1

@SimonSuh大多數人似乎將RDB稱爲「快照」,或稱爲Redis數據庫[文件]。它也是您的快照的文件擴展名。 – Toomaja

相關問題