最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redis的兩種持久化方式RDB和AOF解讀

 更新時間:2025年03月04日 09:08:57   作者:L丶小先生  
Redis提供了RDB和AOF兩種持久化方式,RDB是快照持久化,通過配置文件中的save指令開啟和配置,可以設(shè)置觸發(fā)快照的條件,AOF是日志持久化,每次寫操作都會追加到AOF文件中,并可以通過配置文件設(shè)置持久化頻率和重寫策略,RDB和AOF可以結(jié)合使用,以提高數(shù)據(jù)的安全性和恢復(fù)效率

redis兩種持久化方式RDB和AOF

Redis 提供了兩種主要的持久化方式:RDB(Redis Database)和 AOF(Append Only File)。

默認(rèn)情況下,Redis 沒有開啟任何持久化方式,但可以在配置文件(redis.conf)中啟用它們。

RDB持久化

RDB 是一種快照持久化方式,它會在指定的時間間隔內(nèi)生成內(nèi)存數(shù)據(jù)的快照并保存到磁盤上的一個 RDB 文件中,RDB 快照(Snapshot)機制在每次觸發(fā)快照保存時,都會生成一個新的 RDB 文件,這個新文件會覆蓋之前保存的 RDB 文件。

以下是 RDB 快照機制的一些關(guān)鍵點:

1、開啟/禁用方式

在配置文件的SNAPSHOTTING(快照)模塊中設(shè)置save參數(shù)即可開啟,相應(yīng)的禁用RDB持久化只需要不設(shè)置save指令或給save傳入一個空字符串即可禁用。

2、觸發(fā)機制

  • 達(dá)到配置文件中save指令指定的觸發(fā)條件
  • 通過SAVEBGSAVE(異步執(zhí)行) 命令觸發(fā)

3、參數(shù)配置

#900秒內(nèi)有一個key發(fā)生變化觸發(fā)快照操作
save 900 1
#300秒內(nèi)有10個key發(fā)生變化觸發(fā)快照操作
save 300 10
# 60秒內(nèi)有10000個key發(fā)生變化觸發(fā)快照操作
save 60 10000

# 如果配置成no,表示你不在乎數(shù)據(jù)不一致或者有其他的手段發(fā)現(xiàn)和控制這種不一致,那么在快照寫入失敗時,也能確保redis繼續(xù)接受新的寫請求
stop-writes-on-bgsave-error yes

#rdb快照是否進(jìn)行壓縮,但是會消耗cpu
rdbcompression yes

# 在存儲快照后,還可以讓redis使用CRC64算法來進(jìn)行數(shù)據(jù)校驗,但是這樣做會增加大約10%的性能消耗,如果希望獲取到最大的性能提升,可以關(guān)閉此功能
rdbchecksum yes

# rdb快照文件名
dbfilename dump.rdb

#存儲位置,默認(rèn)是當(dāng)前路徑
dir ./

4、數(shù)據(jù)安全性

  • 由于 RDB 文件會覆蓋舊文件,因此在故障恢復(fù)時,你只能恢復(fù)到最后一次成功快照的時間點的數(shù)據(jù)狀態(tài)。
  • 為了提高數(shù)據(jù)安全性,通常建議結(jié)合使用 AOF(Append Only File)持久化,這樣即使 RDB 文件丟失,AOF 也可以提供更細(xì)粒度的數(shù)據(jù)恢復(fù)。

AOF持久化

AOF 是一種日志持久化方式,它會記錄每次寫操作并追加到 AOF 文件中,Redis的AOF文件在重寫(rewrite)過程中會被覆蓋。

AOF重寫的目的是為了減少AOF文件的大小,并去除那些冗余的、不再必要的命令,使得該文件只包含恢復(fù)當(dāng)前數(shù)據(jù)集所需的最小命令集。

在重寫工作完成后,Redis會將新的AOF文件覆蓋現(xiàn)有的AOF文件,這就相當(dāng)于壓縮了AOF文件,使得AOF文件體積變小了。

以下是 AOF日志機制的一些關(guān)鍵點:

1、開啟/禁用方式

在配置文件的APPEND ONLY MODE模塊中把appendonly參數(shù)設(shè)置為yes即可開啟,設(shè)置為no即禁用。

2、觸發(fā)機制

每次寫操作都會追加到 AOF 文件中。

3、參數(shù)配置

#開啟aof持久化策略,將接收到的每次寫操作請求都追加到aof文件中,在redis重啟時,會加載aof文件,優(yōu)先級比rdb高
appendonly no

# aof文件名
appendfilename "appendonly.aof"

# 設(shè)置aof持久化頻率
# 有三種選擇
# always 每次寫都強制調(diào)用fsync,這種模式下,redis會相對較慢,但數(shù)據(jù)最安全
# everysec 每秒啟用一次fsync
# no 不調(diào)用fsync()。而是讓操作系統(tǒng)自行決定sync的時間。這種模式下,redis的性能會最快
appendfsync everysec

# 設(shè)置當(dāng)redis在rewrite的時候,是否允許appendsync。因為redis進(jìn)程在進(jìn)行AOF重寫的時候,fsync()在主進(jìn)程中的調(diào)用會被阻止,也就是redis的持久化功能暫時失效。默認(rèn)為no,這樣能保證數(shù)據(jù)安全
no-appendfsync-on-rewrite no

# 設(shè)置自動進(jìn)行AOF重寫的基準(zhǔn)值,也就是重寫啟動時的AOF文件大小,假如redis自啟動至今還沒有進(jìn)行過重寫,那么啟動時aof文件的大小會被作為基準(zhǔn)值。這個基準(zhǔn)值會和當(dāng)前的aof大小進(jìn)行比較。如果當(dāng)前aof大小超出所設(shè)置的增長比例,則會觸發(fā)重寫。如果設(shè)置auto-aof-rewrite-percentage為0,則會關(guān)閉此重寫功能
auto-aof-rewrite-percentage 100
# 設(shè)置一個最小大小,是為了防止在aof很小時就觸發(fā)重寫
auto-aof-rewrite-min-size 64mb

4、數(shù)據(jù)安全性

AOF文件會記錄從上一次重寫到現(xiàn)在的所有寫操作,redis故障恢復(fù)后會重新執(zhí)行這些寫操作指令,設(shè)置了過期時間的key也會被重新寫入并重新設(shè)置過期時間,從而恢復(fù)到故障前的數(shù)據(jù)狀態(tài)

5、補充

AOF文件重寫可以簡單的理解為redis會自動的根據(jù)重寫機制配置去定時的清理那些冗余的、不再必要的命令,僅保留當(dāng)前使用中的數(shù)據(jù)命令,由此可以減少AOF文件的體積,減少磁盤空間使用率以及提高數(shù)據(jù)恢復(fù)的速度。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Redis數(shù)據(jù)刪除與淘汰策略從原理到實戰(zhàn)指南

    Redis數(shù)據(jù)刪除與淘汰策略從原理到實戰(zhàn)指南

    本文講解了Redis的數(shù)據(jù)刪除與淘汰策略,從基礎(chǔ)概念鋪墊到策略細(xì)節(jié)拆解,再到底層原理和實戰(zhàn)配置,重點介紹了三種刪除策略(惰性刪除、定期刪除、主動刪除)和六種常用淘汰策略(allkeys-lru、volatile-lru、allkeys-lfu、volatile-lfu等),感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • Redis3.2.6配置文件詳細(xì)中文說明

    Redis3.2.6配置文件詳細(xì)中文說明

    本文為大家分享了Redis3.2.6配置文件詳細(xì)中文說明,非常詳細(xì)收藏起來以后工作有用
    2018-10-10
  • Redis搶單預(yù)熱的實現(xiàn)示例

    Redis搶單預(yù)熱的實現(xiàn)示例

    本文主要介紹了Redis搶單預(yù)熱的實現(xiàn)示例,以應(yīng)對搶單活動帶來的高并發(fā)訪問壓力,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • redis批量刪除namespace下的數(shù)據(jù)的實現(xiàn)步驟

    redis批量刪除namespace下的數(shù)據(jù)的實現(xiàn)步驟

    在開發(fā)中為了更好的管理數(shù)據(jù),對redis進(jìn)行了分組存儲操作,在存值時加了命名空間來實現(xiàn),本文就來介紹一下redis批量刪除namespace下的數(shù)據(jù)的實現(xiàn)步驟,感興趣的可以了解一下
    2025-12-12
  • 完美解決Redis在雙擊redis-server.exe出現(xiàn)閃退問題

    完美解決Redis在雙擊redis-server.exe出現(xiàn)閃退問題

    本文主要介紹了完美解決Redis在雙擊redis-server.exe出現(xiàn)閃退問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Redis解決緩存擊穿問題的兩種方法

    Redis解決緩存擊穿問題的兩種方法

    緩存擊穿問題也叫熱點Key問題,就是?個被高并發(fā)訪問并且緩存重建業(yè)務(wù)較復(fù)雜的key突然失效了,無數(shù)的請求訪問會在瞬間給數(shù)據(jù)庫帶來巨大的沖擊,本文給大家介紹了Redis解決緩存擊穿問題的兩種方法,需要的朋友可以參考下
    2025-03-03
  • redis數(shù)據(jù)的兩種持久化方式對比

    redis數(shù)據(jù)的兩種持久化方式對比

    Redis是我們開發(fā)中常用的數(shù)據(jù)庫,今天和大家分享的就是redis持久化的2種方式:RDB(Redis DataBase)和AOF(Apend Only File),希望對大家學(xué)習(xí)redis有幫助,一起來看看吧。
    2017-08-08
  • Redis 常用命令之基礎(chǔ)、進(jìn)階與場景化實戰(zhàn)案例

    Redis 常用命令之基礎(chǔ)、進(jìn)階與場景化實戰(zhàn)案例

    Redis常用命令全解析,涵蓋基礎(chǔ)、進(jìn)階和場景化實戰(zhàn),包括字符串、哈希、列表、集合、有序集合等數(shù)據(jù)類型,以及發(fā)布訂閱、分布式鎖、事務(wù)等高級功能,本文給大家介紹Redis常用命令之基礎(chǔ)、進(jìn)階與場景化實戰(zhàn)案例,感興趣的朋友一起看看吧
    2026-01-01
  • redis中的數(shù)據(jù)結(jié)構(gòu)和編碼詳解

    redis中的數(shù)據(jù)結(jié)構(gòu)和編碼詳解

    本文主要和大家分享幾種Redis數(shù)據(jù)結(jié)構(gòu)詳解,希望文中的案例和代碼,能幫助到大家。
    2020-03-03
  • Redis實現(xiàn)好友關(guān)注的示例代碼

    Redis實現(xiàn)好友關(guān)注的示例代碼

    本文主要介紹了Redis實現(xiàn)好友關(guān)注的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論

华宁县| 兴文县| 邹平县| 象州县| 循化| 三河市| 波密县| 香河县| 东兰县| 珠海市| 保亭| 涿鹿县| 永济市| 翁牛特旗| 陕西省| 太保市| 迭部县| 乐清市| 德清县| 额济纳旗| 思茅市| 白沙| 威信县| 淅川县| 墨脱县| 开阳县| 扎鲁特旗| 雷州市| 阜南县| 黄浦区| 静海县| 临桂县| 达州市| 鄂伦春自治旗| 连云港市| 龙口市| 隆安县| 博野县| 伊宁市| 方城县| 高邮市|