国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

redis 持久化 RDB + AOF

這篇具有很好參考價(jià)值的文章主要介紹了redis 持久化 RDB + AOF。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

redis 持久化 RDB + AOF

1.redis持久化----兩種方式

RDB(Redis DataBase)和AOF(Append Only File)

RDB,簡而言之,就是在不同的時(shí)間點(diǎn),將redis存儲(chǔ)的數(shù)據(jù)生成快照并存儲(chǔ)到磁盤等介質(zhì)上

AOF,那就是將redis執(zhí)行過的所有寫指令記錄下來,在下次redis重新啟動(dòng)時(shí),只要把這些寫指令從前到后再重復(fù)執(zhí)行一遍,就可以實(shí)現(xiàn)數(shù)據(jù)恢復(fù)了。

RDB + AOF 如果redis重啟的話,則會(huì)優(yōu)先采用AOF方式來進(jìn)行數(shù)據(jù)恢復(fù),這是因?yàn)锳OF方式的數(shù)據(jù)恢復(fù)完整度更高。

2.RDB快照(Redis DataBase snapshot)

在默認(rèn)情況下,Redis 將內(nèi)存數(shù)據(jù)庫快照保存在名字為 dump.rdb 的二進(jìn)制文件中。你可以對 Redis 進(jìn)行設(shè)置, 讓它在“下秒內(nèi)數(shù)據(jù)集至少有M個(gè)改動(dòng)”這一條件被滿足時(shí),自動(dòng)保存一次數(shù)據(jù)集。比如說,以下設(shè)置會(huì)讓 Redis 在滿足“60 秒內(nèi)有至少有 1000 個(gè)鍵被改動(dòng)”這一條件時(shí),自動(dòng)保存一次數(shù)據(jù)集:

# save 60 1000 //關(guān)閉RDB只需要將所有的save保存策略注釋掉即可 save會(huì)阻塞其他命令

還可以手動(dòng)執(zhí)行命令生成RDB快照,進(jìn)入redis客戶端執(zhí)行命令save或bgsave可以生成dump.rdb文件,每次命令執(zhí)行都會(huì)將所有redis內(nèi)存快照到一個(gè)新的rdb文件里,并覆蓋原有rdb快照文件。

2.1bgsave的寫時(shí)復(fù)制(COW)機(jī)制

Redis 借助操作系統(tǒng)提供的寫時(shí)復(fù)制技術(shù) (Copy-0n-Wite,COW),在生成快照的同時(shí),依然可以正常處理寫命令。簡單來說ogsave 子進(jìn)程是由主線程 fok 生成的,可以共享主線程的所有內(nèi)存數(shù)據(jù)。bgsave 子進(jìn)程運(yùn)行后,開始讀取主線程的內(nèi)存數(shù)據(jù),并把它們寫入 RDB 文件。此時(shí),如果主線程對這些數(shù)據(jù)也都是讀操作,那么,主線程和 basave 子進(jìn)程相互不影響。但是,如果主線程要修改塊數(shù)據(jù),那么,這塊數(shù)據(jù)就會(huì)被復(fù)制一份,生成該數(shù)據(jù)的副本,然后,bgsave 子進(jìn)程會(huì)把這個(gè)副本數(shù)據(jù)寫入 RDB 文件,而在這個(gè)過程中,主線程仍然可以直接修改原來的數(shù)據(jù)

redis 持久化 RDB + AOF

Save 會(huì)阻塞redis的其他命令,bgsave 不會(huì)阻塞會(huì)在一段時(shí)間內(nèi)完成對redis的內(nèi)容的復(fù)制,在這段時(shí)間內(nèi)也會(huì)有redis的命令會(huì)同步到這個(gè)RDB文件當(dāng)中

2.2 RDB的會(huì)出現(xiàn)的問題

2.2.1 sava和bgsave會(huì)出現(xiàn)的問題

Save 會(huì)阻塞redis的其他命令,bgsave 不會(huì)阻塞會(huì)在一段時(shí)間內(nèi)完成對redis的內(nèi)容的復(fù)制,在這段時(shí)間內(nèi)也會(huì)有redis的命令會(huì)同步到這個(gè)RDB文件當(dāng)中

2.2.2 save 會(huì)出現(xiàn)的問題

save 是在間隔一點(diǎn)時(shí)間的某個(gè)時(shí)間點(diǎn)、每n次操作,去記錄redis的全部數(shù)據(jù),但是在這段時(shí)間內(nèi)某個(gè)數(shù)據(jù)可能已經(jīng)唄修改過很多次,如果redis宕機(jī) 也會(huì)丟失文件,AOF可以解決這個(gè)問題

開啟appendonly yes 記錄每次redis操作的命令

redis 持久化 RDB + AOF

appendfsync always: 每次有新命令追加到 AOF 文件時(shí)就執(zhí)行一次 fsync ,非常慢,也非常安全 「對redis性能有很大影響」

appendfsync everysec:(默認(rèn))每秒 fsync 一次,足夠快,并且在故障時(shí)只會(huì)丟失 1 秒鐘的數(shù)據(jù)。

appendfsync no: 從不 fsync ,將數(shù)據(jù)交給操作系統(tǒng)來處理。更快,也更不安全的選擇。

執(zhí)行的命令 set lakers KB
*3   //三個(gè)參數(shù)
$3   //第一個(gè)參數(shù)的長度3
set  //第一個(gè)參數(shù)的值
$6
lakers
$2
KB

redis 持久化 RDB + AOF

AOF中有很多的文件沒有實(shí)際的被存儲(chǔ)的價(jià)值,比如累加等命令,AOF中會(huì)記錄n條記錄,實(shí)際上在回復(fù)的時(shí)候只需要set 為n 一條命令就可以恢復(fù),于是提出了AOF重寫的優(yōu)化

# auto-aof-rewrite-min-size 64mb  //aof文件至少要達(dá)到64M才會(huì)自動(dòng)重寫,文件太小恢復(fù)速度本來就很快,重寫的意義不大
# auto-aof-rewrite-percentage 100 //aof文件自上一次重寫后文件大小增長了100%則再次觸發(fā)重寫

達(dá)到64mb會(huì)優(yōu)化一次,對AOF的命令進(jìn)行重寫,減少?zèng)]有必要的命令

redisRDB和AOF都可以開啟,當(dāng)redis宕機(jī)的時(shí)候redis默認(rèn)使用AOF回復(fù)數(shù)據(jù),因?yàn)锳OF數(shù)據(jù)會(huì)更安全一點(diǎn)

3.Redis 4.0 混合持久化

重啟Redis時(shí),我們很少使用RDB來恢復(fù)內(nèi)存狀態(tài),因?yàn)闀?huì)丟失大量數(shù)據(jù)。我們通常使用AOF 日志重放,但是重放 AOF日志性能相對RDB來說要慢很多,這樣在Redis實(shí)例很大的情況下,啟動(dòng)需要花費(fèi)很長的時(shí)間。Redis4.0為了解決這個(gè)問題,帶來了一個(gè)新的持久化選項(xiàng)–混合持久化。
通過如下配置可以開啟混合持久化(必須先開啟aof):

aof-use-rdb-preamble yes

如果開啟了混合持久化,AOF在重寫時(shí),不再是單純將內(nèi)存數(shù)據(jù)轉(zhuǎn)技換為RESP命令寫入AOF文件,而是將重寫這一刻之前的內(nèi)存做RDB快照處理,并且將RDB快照內(nèi)容和增量的AOF修改內(nèi)存數(shù)據(jù)的命令有存在一起,都寫入新的AOF文件,新的文件一開始不叫 appendonlyaof,等到重寫完新的AOF文件才會(huì)進(jìn)行改名,覆蓋原有的AOF文件,完成新舊兩個(gè)AOF文件的替換。
于是在Redis重啟的時(shí)候,可以先加載RDB的內(nèi)容,然后再重放增量AOF日志就可以完全替代之前的AOF全量文件重放,因此重啟效率大幅得到提升。

混合持久化AOF文件結(jié)構(gòu)如下

redis 持久化 RDB + AOF

每AOF重寫一次就會(huì)將AOF文件轉(zhuǎn)化為RDB文件

redis 持久化 RDB + AOF

混合持久化必須開啟AOF可以關(guān)掉RDB,實(shí)質(zhì)是使用AOF方式在重寫的過程中將之前的AOF文件優(yōu)化成RDB

4.redis文件恢復(fù)

只要啟動(dòng)的時(shí)候存儲(chǔ)數(shù)據(jù)的aof文件或者rdb文件存在就可以主動(dòng)的恢復(fù)redis

4.1Redis數(shù)據(jù)備份策略:

1.寫crontab定時(shí)調(diào)度腳本,每小時(shí)都copy一份rdb或aof的備份到一個(gè)目錄中去,僅僅保留最近48小時(shí)的備份

2.每天都保留一份當(dāng)日的數(shù)據(jù)備份到一個(gè)目錄中去,可以保留最近1個(gè)月的備份
3.每次copy備份的時(shí)候,都把太舊的備份給刪了
4.每天晚上將當(dāng)前機(jī)器上的備份復(fù)制一份到其他機(jī)器上,以防機(jī)器損壞文章來源地址http://www.zghlxwxcb.cn/news/detail-436843.html

到了這里,關(guān)于redis 持久化 RDB + AOF的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • redis持久化之RDB

    redis持久化之RDB

    RDB(Redis DataBase):RDB 持久性以指定的時(shí)間間隔執(zhí)行數(shù)據(jù)集的時(shí)間點(diǎn)快照。 說人話:實(shí)現(xiàn)類似照片記錄效果的方式,把某一時(shí)刻的數(shù)據(jù)和狀態(tài)以文件的形式寫到磁盤上,也就是快照,恢復(fù)時(shí)再將硬盤快照文件直接讀回到內(nèi)存里。 這樣一來,即使故障宕機(jī),快照文件也不會(huì)丟

    2024年02月04日
    瀏覽(20)
  • 全面解析 Redis 持久化:RDB、AOF與混合持久化

    前言: 每次你在游戲中看到玩家排行榜,或者在音樂應(yīng)用中瀏覽熱門歌單,有沒有想過這個(gè)排行榜是如何做到實(shí)時(shí)更新的?當(dāng)然,依靠 Redis 即可做到。 在技術(shù)領(lǐng)域,我們經(jīng)常聽到 「鍵值存儲(chǔ)」 這個(gè)詞。但在 Redis 的世界里,這只是冰山一角。Redis 的對象,不僅僅是簡單的數(shù)據(jù)

    2024年03月10日
    瀏覽(33)
  • redis 持久化 RDB + AOF

    redis 持久化 RDB + AOF

    RDB(Redis DataBase)和AOF(Append Only File) RDB,簡而言之,就是在不同的時(shí)間點(diǎn),將redis存儲(chǔ)的數(shù)據(jù)生成快照并存儲(chǔ)到磁盤等介質(zhì)上 AOF,那就是將redis執(zhí)行過的所有寫指令記錄下來,在下次redis重新啟動(dòng)時(shí),只要把這些寫指令從前到后再重復(fù)執(zhí)行一遍,就可以實(shí)現(xiàn)數(shù)據(jù)恢復(fù)了。

    2024年02月03日
    瀏覽(25)
  • 【Redis】Redis持久化機(jī)制RDB與AOF

    【Redis】Redis持久化機(jī)制RDB與AOF

    目錄 一、RDB 1、概念 2、RDB文件保存 3、執(zhí)行RDB 4、觸發(fā)RDB 5、fork原理 6、RDB的缺點(diǎn) 二、AOF 1、概念 2、開啟AOF 3、觸發(fā)AOF 4、觸發(fā)重寫AOF 三、區(qū)別 RDB全稱為Redis Database Backup File(Redis數(shù)據(jù)備份文件),也叫做Redis數(shù)據(jù)快照。簡單的來說就是把某一時(shí)刻Redis內(nèi)存里的數(shù)據(jù)都記錄到磁

    2024年02月08日
    瀏覽(39)
  • 【Redis】Redis持久化之RDB詳解(Redis專欄啟動(dòng))

    【Redis】Redis持久化之RDB詳解(Redis專欄啟動(dòng))

    ??作者簡介:小明java問道之路, 2022年度博客之星全國TOP3 ,專注于后端、中間件、計(jì)算機(jī)底層、架構(gòu)設(shè)計(jì)演進(jìn)與穩(wěn)定性建設(shè)優(yōu)化。文章內(nèi)容兼具廣度深度、大廠技術(shù)方案,對待技術(shù)喜歡推理加驗(yàn)證,就職于知名金融公司后端高級工程師。 ? ? ? ?? ?? 熱衷分享,喜歡原創(chuàng)

    2023年04月09日
    瀏覽(31)
  • Redis_持久化(AOF、RDB)

    Redis_持久化(AOF、RDB)

    目前,redis的持久化主要應(yīng)用AOF(Append Only File)和RDF兩大機(jī)制,AOF以日志的形式來記錄每個(gè)寫操作(增量保存),將redis執(zhí)行過的所有指令全部安全記錄下來(讀操作不記錄)。只許追加文件,但不可以改寫文件,redis啟動(dòng)之初,會(huì)讀取該文件,重新構(gòu)建數(shù)據(jù)。 AOF默認(rèn)不開啟

    2024年02月13日
    瀏覽(22)
  • Redis持久化(RDB和AOF)

    目錄 方式一:RDB 方式二:AOF AOF重寫可能出現(xiàn)的問題及解決方案 方式三:RDB-AOF混合持久化 Redis持久化 :Redis是基于內(nèi)存數(shù)據(jù)庫,宕機(jī)后和數(shù)據(jù)會(huì)消失,當(dāng)Redis用作DB 時(shí),DB數(shù)據(jù)要完整,所以一定要有一個(gè)完整的數(shù)據(jù)源文件,在系統(tǒng)啟動(dòng)時(shí),從這個(gè)完整的數(shù)據(jù)源中將數(shù)據(jù)load到

    2024年02月16日
    瀏覽(22)
  • Redis優(yōu)化 RDB AOF持久化

    Redis優(yōu)化 RDB AOF持久化

    ---------------------- Redis 高可用 ---------------------------------------- 在web服務(wù)器中,高可用是指服務(wù)器可以正常訪問的時(shí)間,衡量的標(biāo)準(zhǔn)是在多長時(shí)間內(nèi)可以提供正常服務(wù)(99.9%、99.99%、99.999%等等)。 但是在Redis語境中,高可用的含義似乎要寬泛一些,除了保證提供正常服務(wù)(如主

    2024年02月09日
    瀏覽(27)
  • Redis 持久化RDB和AOF

    Redis 有兩種持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看總結(jié)。本章節(jié)通過配置文件,觸發(fā)快照的方式,恢復(fù)數(shù)據(jù)的操作,命令操作演示,優(yōu)缺點(diǎn)來學(xué)習(xí) Redis 的重點(diǎn)知識(shí) 持久化 。 RDB 是 Redis 默認(rèn)的持久化

    2024年02月14日
    瀏覽(21)
  • Redis 持久化-RDB和 持久化-AOF 的詳細(xì)介紹以及區(qū)別

    Redis 持久化-RDB和 持久化-AOF 的詳細(xì)介紹以及區(qū)別

    在線文檔: https://redis.io/topics/persistence RDB(Redis DataBase) AOF(Append Of File) 在指定的時(shí)間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤, 也就Snapshot 快照,恢復(fù)時(shí)將快照文件讀到內(nèi)存 RDB 及其執(zhí)行流程 對上圖的解讀 具體流程如下: redis 客戶端執(zhí)行bgsave 命令或者自動(dòng)觸發(fā)bgsave 命令;

    2024年02月09日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包