日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redis 学习(18)-- AOF

發布時間:2023/12/2 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis 学习(18)-- AOF 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

redis -- AOF

什么是 AOF

通過日志方式將redis中的寫命令進行日志記錄,保存在硬盤文件中。

日志記錄的實質是將寫命令寫在硬盤的緩沖區中,再根據相關策略把數據刷新到磁盤中。

當redis服務器啟動時候,執行硬盤中的日志文件以恢復redis中的數據。

AOF 運行原理 - 創建

AOF 運行原理 - 恢復

AOF 的三種策略

1. always

含義:執行每條寫命令都會將寫命令寫到磁盤中

2. everysec

含義:每秒將數據從緩沖區刷到磁盤中,可能會丟失一秒的數據(redis 默認使用該策略)

3. no

含義:寫命令何時刷新的磁盤中,由操作系統來決定

AOF 重寫

注意這里的重寫并不是說將 redis 命令重新抽象成新的 redis 命令,再寫入 AOF 文件,而是執行 redis 命令后將內存中的數據進行回溯,重寫成 AOF 文件。

1. 重寫的作用
  • 減少磁盤占用
  • 加速AOF恢復速度
    • 例如一萬次incr key 可以重寫為 set key 10000
2. AOF 重寫實現方式 - bgrewriteaof

客戶端發送出一條bgrewriteaof命令后,redis會fork一個子進程完成AOF重寫操作邏輯。

3. AOP 重寫實現方式 - AOF 重寫配置
  • AOF配置項
配置默認值含義
auto-aof-rewrite-min-size64MBAOF文件重寫需要的尺寸,AOF多大時開啟重寫
auto-aof-rewrite-percentage100AOF文件增長率
(當前AOF文件大小超過上一次重寫的AOF
文件大小的百分之多少才會重寫)
  • AOF統計項

    統計名含義
    aof_current_sizeAOF當前尺寸(單位:字節)
    aof_base_sizeAOF上次啟動和重寫的尺寸(單位:字節)
  • 自動觸發時機

    • 當前 AOF 文件大小超過最小重寫尺寸
    • 當前 AOF 文件大小超過上次重寫完的 AOF 尺寸的百分之多少(auto-aof-rewrite-percentage
aof_current_size > auto-aof-rewrite-min-size (aof_current_size - aof_base_size) / aof_base_size > auto-aof-rewrite-percentage

AOF 相關配置

配置項最佳取值含義
appendonlyyes開啟AOF
appendfilenameaof-${port}.aofAOF文件名
appendfsynceverysecAOF策略
dir/redisDataPathAOF文件所在目錄
no-appendfsync-no-rewriteyes在執行重寫時不進行AOF操作
auto-aof-rewrite-percentage100AOF重寫配置(見上文)
auto-aof-rewrite-min-size64MBAOF重寫配置(見上文)

AOF 重寫原理

AOF重寫不會讀取老的AOF文件,而是根據當前服務器的狀態生成一份新的AOF文件,將老的AOF文件進行替換。

AOF 重寫流程

演示

redis 支持動態配置,我們開啟 AOF,其他配置保持不變。

conf set appendonly yes

我們添加幾個數據:

在 /opt/soft/redis/data/ 目錄下查看,可以看到,AOF 文件已經生成了,使用 more 命令查看 aof 文件:

看得不太清楚,我們用 head 命令打印 aof 文件頭部信息:

使用重寫命令:

我們使用 dbszie 重新查看一下數據大小,可以看到文件非常小,只有三個 key:

打印一下重寫后的 appendonly.aof :

可以看到重寫后的命令變成了:

seletc 0 set counter 2 set counter redis rpush list a b c

轉載于:https://www.cnblogs.com/weixuqin/p/10968836.html

總結

以上是生活随笔為你收集整理的redis 学习(18)-- AOF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。