【Redis】AOF日志

目錄

  • 1、背景
  • 2、工作原理
  • 3、核心配置參數
  • 4、優缺點
  • 5、AOF文件內容

1、背景

AOF(Append Only File)是redis提供的持久化機制之一,它通過記錄所有修改數據庫狀態的寫命令來實現數據庫持久化。與RDB(快照)方式不同,AOF記錄的是操作過程而非數據狀態。

2、工作原理

AOF的工作原理如下:

1、命令記錄:當AOF開啟時,redis會將每個寫命令追加到AOF緩沖區
2、文件同步:根據配置策略將緩沖去內容寫入AOF文件
3、文件重寫:定期執行AOF重寫以壓縮文件大小

3、核心配置參數

AOF在redis.conf的相關配置如下:

[root@xxx]# cat /xxx/redis.conf | grep -E 'append|auto-aof'
appendonly yes #啟用AOF持久化
appendfilename "xxx" #AOF文件名,沒配置默認文件名為appendonly.aof
appendfsync everysec #同步策略
no-appendfsync-on-rewrite yes #控制AOF重寫期間是否執行主進程的fsync同步操作
auto-aof-rewrite-percentage 300 #觸發重寫的增長比例
auto-aof-rewrite-min-size 1G #觸發重寫的最小文件大小

同步策略(appendfsync )有三種:

1、always:每個寫命令都同步到磁盤,最安全但性能最低
2、everysec(默認):每秒同步一次,平衡安全性和性能
3、no:由操作系統決定同步時機,性能最好但是可能丟失數據

需要注意no-appendfsync-on-rewrite這個配置的作用機制:

<1>當設置為yes時

1、在AOF重寫期間,主進程不會調用fsync來同步AOF文件
2、即使配置了appendfsync 也會被暫時忽略
3、可以顯著提供重寫期間的性能,減少I/O阻塞

<2>當設置為no時

1、在AOF重寫期間,主進程仍會按照配置的appendfsync策略同步AOF文件
2、保證更高的數據安全性,但可能會影響重寫性能

4、優缺點

AOF的優缺點如下:

優點缺點
數據安全性高:可配置不同級別的同步策略(always/everysec/no)文件體積大:記錄所有寫命令,長期運行后文件可能遠大于RDB
可讀性強:AOF文件是純文本格式,便于人工檢查或修復恢復速度慢:重啟時需要重新執行所有命令,比RDB加載慢
容錯性好:即使文件部分損壞,仍可通過redis-check-aof工具修復寫入性能開銷:相比RDB,AOF通常有更高的寫入負載(取決于同步策略)
實時性高:默認每秒同步,最多丟失1秒數據重寫期間可能阻塞:AOF重寫時(尤其是大實例)可能短暫影響性能
操作粒度細:記錄每個寫命令,可精確到命令級別恢復歷史兼容性問題:不同redis版本的AOF格式可能有細微差異
支持混合持久化(redis 4.0+):結合RDB和AOF優勢配置復雜度高:需合理設置同步策略,重寫觸發條件等參數

5、AOF文件內容

客戶端連接redis執行如下命令:

[root@xxx]# /xxx/redis-cli -h 127.0.0.1 -p 6379 -a xxx
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:16379> select 2 #使用2號庫
OK
127.0.0.1:16379[2]> set XXX YYY #設置key=XXX,value=YYY
OK

AOF文件輸出如下:

[root@xxx]# tail -f /xxx/appendonly.aof
*2 #表示這部分操作有2個部分
$6 #表示SELECT命令有6個字節
SELECT
$1 #表示使用的2號數據庫這個2有1個字節
2
*3 #表示這部分操作有3個部分
$3 #表示set命令有3個字節
set
$3 #表示設置的鍵XXX有3個字節
XXX
$3
YYY #表示設置的值YYY有3個字節

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81949.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81949.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81949.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【HTTP】connectionRequestTimeout與connectTimeout的本質區別

今天發現有的伙伴調用第三方 httpclient 的配置中 connectTimeout 和 connectionRequestTimeout 配置的不到 1 S&#xff0c;問了一下他&#xff0c;知不知道這兩個參數的意思&#xff0c;他說不知道。那我們今天就來了解一下這兩個參數的區別 一、核心概念解析 1.1 connectT…

react中運行 npm run dev 報錯,提示vite.config.js出現錯誤 @esbuild/win32-x64

在React項目中運行npm run dev時&#xff0c;如果遇到vite.config.js報錯&#xff0c;提示esbuild/win32-x64在另一個平臺中被使用&#xff0c;通常是由于依賴沖突或緩存問題導致的。解決方法是刪除node_modules文件夾&#xff0c;并重新安裝依賴。 如下圖&#xff1a; 解決辦…

EMQX開源版安裝指南:Linux/Windows全攻略

EMQX開源版安裝教程-linux/windows 因最近自己需要使用MQTT&#xff0c;需要搭建一個MQTT服務器&#xff0c;所以想到了很久以前用到的EMQX。但是當時的EMQX使用的是開源版的&#xff0c;在官網可以直接下載。而現在再次打開官網時發現怎么也找不大開源版本了&#xff0c;所以…

Python:操作Excel按行寫入

Python按行寫入Excel數據,5種實用方法大揭秘! 在日常的數據處理和分析工作中,我們經常需要將數據寫入到Excel文件中。Python作為一門強大的編程語言,提供了多種庫和方法來實現將數據按行寫入Excel文件的功能。本文將詳細介紹5種常見的Python按行寫入Excel數據的方法,并附上…

vue3中RouterView配合KeepAlive實現組件緩存

KeepAlive組件緩存 為什么需要組件緩存代碼展示緩存效果為什么不用v-if 為什么需要組件緩存 業務需求&#xff1a;一般是列表頁面通過路由跳轉到詳情頁&#xff0c;跳轉回來時&#xff0c;需要列表頁面展示上次展示的內容 代碼展示 App.vue入口 <script setup lang"…

【JAVA】比較器Comparator與自然排序(28)

JAVA 核心知識點詳細解釋 Java中比較器Comparator的概念和使用方法 概念 Comparator 是 Java 中的一個函數式接口,位于 java.util 包下。它用于定義對象之間的比較規則,允許我們根據自定義的邏輯對對象進行排序。與對象的自然排序(實現 Comparable 接口)不同,Comparat…

浪潮服務器配置RAID和JBOD

目錄 1 配置RAID2 設置硬盤為JBOD模式3 驗證結果 1 配置RAID 進入 bios 界面 選擇 “高級” - “UEFI-HII配置” 選擇 raid 卡 進入 Main Menu 點擊 Driver Management&#xff0c;可以查詢當前硬盤 返回上一級&#xff0c;點擊 Configuration Management - Create virtu…

mongodb管理工具的使用

環境&#xff1a; 遠程服務器的操作系統&#xff1a;centOS stream 9; mongoDB version:8.0; 本地電腦 navicat premium 17.2 ; 寶塔上安裝了mongoDB 目的&#xff1a;通過本地的navicat鏈接mongoDB,如何打通鏈接&#xff0c;分2步&#xff1a; 第一步&#xff1a;寶塔-&…

03-Web后端基礎(Maven基礎)

1. 初始Maven 1.1 介紹 Maven 是一款用于管理和構建Java項目的工具&#xff0c;是Apache旗下的一個開源項目 。 Apache 軟件基金會&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受歡迎的開源軟件基金會&#xff0c;也是一個專門為支持開源項目而生的非盈利性…

實景VR展廳制作流程與眾趣科技實景VR展廳應用

實景VR展廳制作是一種利用虛擬現實技術將現實世界中的展覽空間數字化并在線上重現的技術。 這種技術通過三維重建和掃描等手段&#xff0c;將線下展館的場景、展品和信息以三維形式搬到云端數字空間&#xff0c;從而實現更加直觀、立體的展示效果。在制作過程中&#xff0c;首…

Python爬蟲實戰:獲取天氣網最近一周北京的天氣數據,為日常出行做參考

1. 引言 隨著互聯網技術的發展,氣象數據的獲取與分析已成為智慧城市建設的重要組成部分。天氣網作為權威的氣象信息發布平臺,其數據具有較高的準確性和實時性。然而,人工獲取和分析天氣數據效率低下,無法滿足用戶對精細化、個性化氣象服務的需求。本文設計并實現了一套完整…

幾種超聲波芯片的特點和對比

一 CX20106A ZIP - 8 CX20106A ZIP - 8 的核心競爭力在于高性價比、易用性和抗光干擾能力&#xff0c;尤其適合消費電子、短距離工業檢測和低成本物聯網場景。盡管在距離和精度上不及高端芯片&#xff0c;但其成熟的電路方案和廣泛的市場應用&#xff08;如經典紅外遙控升級為超…

利用ffmpeg截圖和生成gif

從視頻中截取指定數量的圖片 ffmpeg -i input.mp4 -ss 00:00:10 -vframes 1 output.jpgffmpeg -i input.mp4 -ss 00:00:10 -vframes 180 output.jpg -vframes 180代表截取180幀, 實測后發現如果視頻是60fps,那么會從第10秒截取到第13秒-i input.mp4&#xff1a;指定輸入視頻文…

系統架構設計師案例分析題——數據庫緩存篇

一.核心知識 1.redis和MySQL的同步方案怎么做的&#xff1f; 讀數據&#xff1a;先查詢緩存&#xff0c;緩存不存在則查詢數據庫&#xff0c;然后將數據新增到緩存中寫數據&#xff1a;新增時&#xff0c;先新增數據庫&#xff0c;數據庫成功后再新增緩存&#xff1b;更新和刪…

什么是智能體?

什么是智能體&#xff1f; 智能體&#xff08;AI Agent&#xff09;是一種能夠自主感知環境、做出決策并執行任務的智能實體&#xff0c;其核心依賴大型語言模型&#xff08;LLM&#xff09;或深度學習算法作為“大腦”模塊。它通過感知模塊&#xff08;如多模態輸入&#xff…

企業數字化轉型是否已由信息化+自動化向智能化邁進?

DeepSeek引發的AI熱潮迅速蔓延到了各個行業&#xff0c;目前接入DeepSeek的企業&#xff0c;涵蓋了科技互聯網、云服務、電信、金融、能源、汽車、手機等熱門領域&#xff0c;甚至全國各地政府機構也紛紛引入。 在 DeepSeek 等國產 AI 技術的推動下&#xff0c;眾多企業已經敏銳…

廣州卓遠VR受邀參加2025智能體育典型案例調研活動,并入駐國體華為運動健康聯合實驗室!

近日&#xff0c;“2025年智能體育典型案例調研活動”在東莞松山湖成功舉辦。本次調研活動由國家體育總局體育科學研究所和中國信息通信研究院聯合主辦&#xff0c;旨在深入貫徹中央關于培育新型消費的戰略部署&#xff0c;通過激活智能健身產品消費潛力&#xff0c;加快運動健…

springboot+vue實現鮮花商城系統源碼(帶用戶協同過濾個性化推薦算法)

今天教大家如何設計一個 鮮花商城 , 基于目前主流的技術&#xff1a;前端vue3&#xff0c;后端springboot。學習完這個項目&#xff0c;你將來找工作開發實際項目都會又很大幫助。文章最后部分還帶來的項目的部署教程。 系統有著基于用戶的協同過濾推薦算法&#xff0c;還有保證…

【android bluetooth 協議分析 02】【bluetooth hal 層詳解 3】【高通藍牙hal主要流程介紹-上】

1. 背景 本節主要討論 高通 藍牙 hal 中&#xff0c;的一些流程。 看看你是否都清楚如下問題&#xff1a; 高通芯片電如何控制&#xff1f;串口是在哪里控制的&#xff1f;固件如何下載&#xff1f;初始化流程是怎么樣的&#xff1f; 如果你已經對上述討論的問題&#xff0c…

JavaEE 初階文件操作與 IO 詳解

一、文件操作基礎&#xff1a;File 類 作用&#xff1a;操作文件或目錄&#xff08;創建、刪除、獲取信息&#xff09;。 核心方法&#xff1a; exists()&#xff1a;文件是否存在createNewFile()&#xff1a;創建新文件mkdir()&#xff1a;創建目錄delete()&#xff1a;刪除…