redis中AOF和RBD的用法是怎樣的-創(chuàng)新互聯(lián)

這篇文章給大家介紹redis中AOF和RBD的用法是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),小程序設(shè)計(jì),十余年建站對集裝箱等多個(gè)方面,擁有多年的網(wǎng)站營銷經(jīng)驗(yàn)。

redis 典型應(yīng)用場景:

Rdb文件

Rdb文件就相當(dāng)于是mysql中的mysqldump將內(nèi)存中的所有數(shù)據(jù)都備份到本地磁盤上。

RDB(Redis DataBase):基于時(shí)間的快照,其默認(rèn)只保留當(dāng)前最新的一次快照,特點(diǎn)是執(zhí) 行速度比較快,缺點(diǎn)是可能會(huì)丟失從上次快照到當(dāng)前時(shí)間點(diǎn)之間未做快照的數(shù)據(jù)。

RDB 實(shí)現(xiàn)的具體過程 Redis 從主進(jìn)程先 fork 出一個(gè)子進(jìn)程,使用寫時(shí)復(fù)制機(jī)制,子進(jìn) 程將內(nèi)存的數(shù)據(jù)保存為一個(gè)臨時(shí)文件,比如 dump.rdb.temp,當(dāng)數(shù)據(jù)保存完成之后再 將上一次保存的 RDB 文件替換掉,然后關(guān)閉子進(jìn)程,這樣可以保存每一次做 RDB 快 照的時(shí)候保存的數(shù)據(jù)都是完整的,因?yàn)橹苯犹鎿Q RDB 文件的時(shí)候可能會(huì)出現(xiàn)突然斷 電等問題而導(dǎo)致 RDB 文件還沒有保存完整就突然關(guān)機(jī)停止保存而導(dǎo)致數(shù)據(jù)丟失的情 況,可以手動(dòng)將每次生成的 RDB 文件進(jìn)程備份,這樣可以大化保存歷史數(shù)據(jù)。

RDB 模式的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

-RDB 快照保存了某個(gè)時(shí)間點(diǎn)的數(shù)據(jù),可以通過腳本執(zhí)行 bgsave(非阻塞)或者 save(阻 塞)命令自定義時(shí)間點(diǎn)備份,可以保留多個(gè)備份,當(dāng)出現(xiàn)問題可以恢復(fù)到不同時(shí)間點(diǎn) 的版本。

可以大化 IO 的性能,因?yàn)楦高M(jìn)程在保存 RDB 文件的時(shí)候唯一要做的是 fork 出一 個(gè)子進(jìn)程,然后的-操作都會(huì)有這個(gè)子進(jìn)程操作,父進(jìn)程無需任何的 IO 操作RDB 在大量數(shù)據(jù)比如幾個(gè) G 的數(shù)據(jù),恢復(fù)的速度比 AOF 的快

缺點(diǎn):

-不能時(shí)時(shí)的保存數(shù)據(jù),會(huì)丟失自上一次執(zhí)行 RDB 備份到當(dāng)前的內(nèi)存數(shù)據(jù)

-數(shù)據(jù)量非常大的時(shí)候,從父進(jìn)程 fork 的時(shí)候需要一點(diǎn)時(shí)間,可能是毫秒或者秒或者 分鐘,取決于磁盤 IO 性能。

AOF文件

AOF文件類似于mysql中的二進(jìn)制日志,如果redis在上一次完全備份到下一次完全備份的這段時(shí)間里面發(fā)生的宕機(jī)的情況,這段時(shí)間所生成的數(shù)據(jù)就會(huì)丟失,而AOF文件可以將這段時(shí)間的數(shù)據(jù)保存下來。

注:::當(dāng)開啟AOF功能時(shí),redis每次重啟都會(huì)加載的是AOF文件,而不是RDB文件,當(dāng)關(guān)閉AOF功能時(shí),就算有AOF文件,重啟redis也不會(huì)加載該文件。‘

按照操作順序依次將操作添加到指定的日志文件當(dāng)中,特點(diǎn)是數(shù)據(jù)安全性相對 較高,缺點(diǎn)是即使有些操作是重復(fù)的也會(huì)全部記錄。

AOF 和 RDB 一樣使用了寫時(shí)復(fù)制機(jī)制,AOF 默認(rèn)為每秒鐘 fsync 一次,即將執(zhí)行的命 令保存到 AOF 文件當(dāng)中,這樣即使 redis 服務(wù)器發(fā)生故障的話頂多也就丟失 1 秒鐘之 內(nèi)的數(shù)據(jù),也可以設(shè)置不同的 fsync 策略,或者設(shè)置每次執(zhí)行命令的時(shí)候執(zhí)行 fsync, fsync會(huì)在后臺(tái)執(zhí)行線程,所以主線程可以繼續(xù)處理用戶的正常請求而不受到寫入 AOF 文件的 IO 影響

AOF 模式優(yōu)缺點(diǎn)

AOF 的文件大小要大于 RDB 格式的文件

根據(jù)所使用的 fsync 策略(fsync 是同步內(nèi)存中 redis 所有已經(jīng)修改的文件到存儲(chǔ)設(shè)備),

默認(rèn)是 appendfsync everysec 即每秒執(zhí)行一次 fsync

aof相關(guān)配置如下:

############################## APPEND ONLY MODE ###############################

# 是否開啟AOF,默認(rèn)關(guān)閉(no)

appendonly yes

# 指定 AOF 文件名

appendfilename appendonly.aof

# Redis支持三種不同的刷寫模式:

# appendfsync always #每次收到寫命令就立即強(qiáng)制寫入磁盤,是最有保證的完全的持久化,但速度也是最慢的,一般不推薦使用。

appendfsync everysec #每秒鐘強(qiáng)制寫入磁盤一次,在性能和持久化方面做了很好的折中,是受推薦的方式。

# appendfsync no     #完全依賴OS的寫入,一般為30秒左右一次,性能最好但是持久化最沒有保證,不被推薦。

#在日志重寫時(shí),不進(jìn)行命令追加操作,而只是將其放在緩沖區(qū)里,避免與命令的追加造成DISK IO上的沖突。

#設(shè)置為yes表示rewrite期間對新寫操作不fsync,暫時(shí)存在內(nèi)存中,等rewrite完成后再寫入,默認(rèn)為no

no-appendfsync-on-rewrite no

#當(dāng)前AOF文件大小是上次日志重寫得到AOF文件大小的二倍時(shí),自動(dòng)啟動(dòng)新的日志重寫過程。

auto-aof-rewrite-percentage 100

#當(dāng)前AOF文件啟動(dòng)新的日志重寫過程的最小值,避免剛剛啟動(dòng)Reids時(shí)由于文件尺寸較小導(dǎo)致頻繁的重寫。

auto-aof-rewrite-min-size 64mb

關(guān)于redis的AOF刷寫模式和日志重寫:

由于寫操作通常是有緩沖的,所以有可能AOF操作并沒有寫到硬盤中,一般可以通過fsync()來強(qiáng)制輸出到硬盤中。而fsync()的頻率可以通過配置文件中的flush策略來指定,可以選擇每次事件循環(huán)寫操作都強(qiáng)制fsync或者每秒fsync至少運(yùn)行一次。

當(dāng)rewrite子進(jìn)程開始后,父進(jìn)程接受到的命令會(huì)添加到aof_rewrite_buf_blocks中,使得rewrite成功后,將這些命令添加到新文件中。在rewrite過程中,原來的AOF也可以選擇是不是繼續(xù)添加,由于存在性能上的問題,在rewrite過程中,如果fsync()繼續(xù)執(zhí)行,會(huì)導(dǎo)致IO性能受損影響Redis性能。所以一般情況下rewrite期間禁止fsync()到舊AOF文件。這策略可以在配置文件中修改。

關(guān)于redis中AOF和RBD的用法是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享標(biāo)題:redis中AOF和RBD的用法是怎樣的-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.muchs.cn/article22/ejhcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站收錄、品牌網(wǎng)站設(shè)計(jì)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)