Redis持久化:rdb與aof

来源:https://www.cnblogs.com/itbsl/archive/2020/07/30/13401562.html
-Advertisement-
Play Games

Redis 預設支持持久化,依據自己的方式,將緩存在記憶體中的數據存儲在磁碟上! Redis支持兩種持久化數據的方式。第一種持久化方法為時間點轉儲(point-in-time dump),轉儲操作既可以在“指定時間段內有指定數量的寫操作執行”,這一條件被滿足時執行,又可以通過調用兩條轉儲到硬碟(dum ...


目錄

Redis 預設支持持久化,依據自己的方式,將緩存在記憶體中的數據存儲在磁碟上!

Redis支持兩種持久化數據的方式。第一種持久化方法為時間點轉儲(point-in-time dump),轉儲操作既可以在“指定時間段內有指定數量的寫操作執行”,這一條件被滿足時執行,又可以通過調用兩條轉儲到硬碟(dump-to-disk)命令中的任何一條來執行;第二種持久化方法將所有修改了資料庫的命令都吸入一個只追加(append-only)文件裡面,用戶可以根據數據的重要程式,將只追加寫入設置為從不同步(sync)、每秒同步一次或者每寫入一個命令就同步一次。

DUMP持久化

預設的文件: dump.rdb 就是 redis 持久化數據的存儲文件。
如果在開啟 redis 伺服器時,可以找到 dump.rdb,則將 dump.rdb中的內容給還原到記憶體中。
在客戶端使用時,數據體現在伺服器重啟,但是數據不丟失。

配置項:dbfilename

可以配置持久化數據的文件名

配置項:dir,rdb文件存儲的位置

預設在當前目錄下, 相對目錄. 在哪運行redis-server, 哪就是當前目錄!

配置項:save,持久化演算法

什麼時間,將記憶體同步到磁碟文件,dump.rdb。

save命令

客戶單執行save命令,可以立即持久化到rdb文件中:

還原rdb

將rdb文件, 拷貝到配置項dir指定的目錄, 就會依據dump.rdb文件進行還原操作

redis的數據備份

save命令後, 將生成好的dump.rdb, 保存在任意位置即可!

AOF持久化

新版的redis,增加的持久化方式.

dump這種, 快照的持久化方式, 每次存儲, 需要將記憶體中的全部緩存項, 無論之前的還是新增的, 都要重新存儲到硬碟上! 好處, 內容完整! 壞處, 效率低!

新增的AOF, AppendOnly file 僅追加, 僅僅記錄後來更新的緩存項.

配置:appendonly

配置是否開啟AOF

配置項:appendfilename

AOF記錄文件名稱

重啟redis

執行了set類的修改指令後,就會生成AOF文件,dir目錄中

伺服器啟動時, 還原時, 依次執行aof文件中記錄的命令, 將修改重做!

如果該文章對您有幫助,請您點個推薦,感謝。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上篇我們完成了數據源保存功能,並順便看了保存後的數據源列表展示功能。 本篇我們開始開發預覽功能,用戶預覽主要步驟: 1、點擊數據源卡片預覽按鈕 2、查看數據源包含的表 3、點擊表名,預覽表中數據 一、前端結構及樣式 效果如下圖(靜態html示意圖): 左側是數據源及包含的表。 右上為篩選條件(篩選條 ...
  • 基於kubeadm快速部署kubernetes K8S V1.17.4集群,並部署Dashboard Web頁面,實現可視化查看Kubernetes資源 ...
  • 在容器里增加、刪除或修改文件,其實都是對可寫層里的文件副本進行了操作。在容器關閉後,該可寫層也會被刪除,對容器的所有修改都會失效,因此需要解決容器內文件持久化的問題。Docker提供了兩種方案來實現: 一、Docker掛載時創建捲:把宿主機文件系統里的目錄映射到容器內的目錄。如此一來,容器內在該目錄 ...
  • 大家好,我是良許。 今天我們討論一個 Vim 使用技巧——用 Vim 讀寫遠程文件。要實現這個目的,我們需要使用到一個叫 netrw.vim 的插件。從 Vim 7.x 開始,netrw.vim 就被設置為預設安裝的標準插件了。這個插件允許用戶通過 ftp、rcp、scp、http 等協議讀寫、編輯 ...
  • 項目名稱:模擬電壓表系統設計 項目功能:實現0 ~ 5V、5 ~ 10V雙量程電壓測量並顯示 本項目是在這次疫情下,大三學期的課程設計,自己辛苦了一夜,最後成績得了優(哈哈哈哈)。下麵簡單說明一下本項目,為像我一樣笨手笨腳的同學提供些經驗(嘻嘻嘻嘻)。 硬體部分 MCU:89C51 顯示模塊:LCD ...
  • 在當今的消費電子市場中,設計師面對6個月的設計視窗以在12個月的時間內實現生產並不少見。這些消費者細分市場中的設計師面臨的問題之一是,營銷人員根本不知道哪些功能將成為贏家。至於消費者領域,急劇變化的功能集比性能要有價值得多,而性能只是功能集中的功能之一。未獲得正確功能集的懲罰是無法找到客戶的產品。結 ...
  • 世上無難事,只要找到 Homebrew 的正確安裝方式。 Homebrew 是什麼 Homebrew是 mac的包管理器,僅需執行相應的命令,就能下載安裝需要的軟體包,可以省掉自己去下載、解壓、拖拽(安裝)等繁瑣的步驟。 比如安裝伺服器 nginx,打開終端執行以下命令即可安裝: brew inst ...
  • 最近有列出區域網中所有主機名的需求(SMB協議里的),但是findsmb命令總是列不全,搜了搜網上也沒什麼現成的解決方案,於是自己寫了個python腳本 腳本會掃描區域網arp表中所有ip,並嘗試解析其主機名,這樣可以較為徹底地列出相關信息。 註意,運行這個腳本需要samba-common-bin和 ...
一周排行
    -Advertisement-
    Play Games
  • 1. 說明 /* Performs operations on System.String instances that contain file or directory path information. These operations are performed in a cross-pla ...
  • 視頻地址:【WebApi+Vue3從0到1搭建《許可權管理系統》系列視頻:搭建JWT系統鑒權-嗶哩嗶哩】 https://b23.tv/R6cOcDO qq群:801913255 一、在appsettings.json中設置鑒權屬性 /*jwt鑒權*/ "JwtSetting": { "Issuer" ...
  • 引言 集成測試可在包含應用支持基礎結構(如資料庫、文件系統和網路)的級別上確保應用組件功能正常。 ASP.NET Core 通過將單元測試框架與測試 Web 主機和記憶體中測試伺服器結合使用來支持集成測試。 簡介 集成測試與單元測試相比,能夠在更廣泛的級別上評估應用的組件,確認多個組件一起工作以生成預 ...
  • 在.NET Emit編程中,我們探討了運算操作指令的重要性和應用。這些指令包括各種數學運算、位操作和比較操作,能夠在動態生成的代碼中實現對數據的處理和操作。通過這些指令,開發人員可以靈活地進行算術運算、邏輯運算和比較操作,從而實現各種複雜的演算法和邏輯......本篇之後,將進入第七部分:實戰項目 ...
  • 前言 多表頭表格是一個常見的業務需求,然而WPF中卻沒有預設實現這個功能,得益於WPF強大的控制項模板設計,我們可以通過修改控制項模板的方式自己實現它。 一、需求分析 下圖為一個典型的統計表格,統計1-12月的數據。 此時我們有一個需求,需要將月份按季度劃分,以便能夠直觀地看到季度統計數據,以下為該需求 ...
  • 如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目 在當下這個年代 SPA 已是主流,人們早已忘記了 MVC 以及 Razor 的故事。但是在某些場景下 SSR 還是有意想不到效果。比如某些靜態頁面,比如追求首屏載入速度的時候。最近在項目中回歸傳統效果還是不錯。 有的時候我們希望將 ...
  • System.AggregateException: 發生一個或多個錯誤。 > Microsoft.WebTools.Shared.Exceptions.WebToolsException: 生成失敗。檢查輸出視窗瞭解更多詳細信息。 內部異常堆棧跟蹤的結尾 > (內部異常 #0) Microsoft ...
  • 引言 在上一章節我們實戰了在Asp.Net Core中的項目實戰,這一章節講解一下如何測試Asp.Net Core的中間件。 TestServer 還記得我們在集成測試中提供的TestServer嗎? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。 ...
  • 在發現結果為真的WHEN子句時,CASE表達式的真假值判斷會終止,剩餘的WHEN子句會被忽略: CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END 註意: 統一各分支返回的數據類型. ...
  • 在C#編程世界中,語法的精妙之處往往體現在那些看似微小卻極具影響力的符號與結構之中。其中,“_ =” 這一組合突然出現還真不知道什麼意思。本文將深入剖析“_ =” 的含義、工作原理及其在實際編程中的廣泛應用,揭示其作為C#語法奇兵的重要角色。 一、下劃線 _:神秘的棄元符號 下劃線 _ 在C#中並非 ...