日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
有效避免數(shù)據(jù)丟失!Redis持久化方案選擇詳解

為什么需要持久化呢?

專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)招遠(yuǎn)免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

通常情況下redis的數(shù)據(jù)全部存儲在內(nèi)存中,數(shù)據(jù)庫一旦故障發(fā)生重啟數(shù)據(jù)會全部丟失,即使是在redis cluster或者redis sentinel模式下主從同步數(shù)據(jù)的恢復(fù)仍然需要一段時間。

持久化功能在于能夠有效地避免因進(jìn)程退出造成的數(shù)據(jù)丟失問題,在下次重啟時利用之前持久化的文件即可實現(xiàn)數(shù)據(jù)恢復(fù)。

開啟Redis持久化之后,數(shù)據(jù)將存放到磁盤中,數(shù)據(jù)庫執(zhí)行增量同步的時間要遠(yuǎn)小于全量同步。在生產(chǎn)環(huán)境下故障的數(shù)據(jù)恢復(fù)有著非常重要的作用!

Redis數(shù)據(jù)持久化有兩種方案

Redis持久化有兩種方案:

  • RDB是一種快照式的數(shù)據(jù)存儲,它會周期性的保存當(dāng)前時間點Redis所有的數(shù)據(jù)到磁盤中。
  • AOF是一種追加式的存儲方式,會實時的記錄Redis的寫操作到磁盤中。

這兩種方案又存在什么樣的區(qū)別呢?下面讓小編一一道來吧~

1. RDB持久化

當(dāng)Redis的寫入觸發(fā)RDB持久化條件后(也可以手動執(zhí)行dgsave命令來觸發(fā)),Redis主進(jìn)程fork一個子進(jìn)程來創(chuàng)建臨時RDB存儲文件,創(chuàng)建文件完成后對這個臨時文件rename替換原先的RDB文件。RDB文件是一個單文件很適合數(shù)據(jù)的容災(zāi)備份與恢復(fù),通過RDB文件恢復(fù)數(shù)據(jù)庫耗時較短,通常1G的快照文件載入內(nèi)存只需20s左右。

缺點:

  • RDB持久化只會周期性的保存Redis數(shù)據(jù),當(dāng)還未觸發(fā)下一次存儲的情況下Redis宕機,則內(nèi)存中的數(shù)據(jù)會全部丟失。
  • 另外當(dāng)數(shù)據(jù)量較大的情況下,fork子進(jìn)程這個操作很消耗cpu,如下圖的監(jiān)控圖,每1800s觸發(fā)的RDB持久化,Redis消耗的cpu都會飆升。在fork子進(jìn)程過程中可能會發(fā)生長達(dá)秒級別的阻塞情況。

參數(shù):

save選項如果配置為空save "",則關(guān)閉RDB持久化,這個開啟RDB持久化觸發(fā)條件可以配置多條,例如900秒內(nèi)有1次寫入觸發(fā)快照/300秒內(nèi)有10次寫入觸發(fā)快照,這個可以根據(jù)自身Redis寫入情況自由配置來平衡性能與數(shù)據(jù)安全。

stop-writes-on-bgsave-error建議開啟,當(dāng)redis bgsave發(fā)生錯誤的時候拒絕客戶端的請求,bgsave失敗一般是磁盤或者內(nèi)存空間不夠,需要監(jiān)控來提高數(shù)據(jù)安全性。

2. AOF持久化

AOF是通過保存Redis寫操作的命令來實現(xiàn)持久化,使用AOF來持久化,Redis數(shù)據(jù)的安全性將大幅提高,異常宕機情況下最多丟失1s的數(shù)據(jù)。AOF文件記錄了redis的寫操作,格式清晰,易于理解和修改,利于數(shù)據(jù)的重建。

缺點:

  • 隨著redis寫入的增加,AOF存儲文件會越來越大,會影響到數(shù)據(jù)庫數(shù)據(jù)的恢復(fù)時間和磁盤空間等,所以我們需要配置AOF重寫來縮小AOF文件的體積,這里可使用默認(rèn)的兩個觸發(fā)條件配置或者我們可以手動調(diào)用BGREWRITEAOF命令來觸發(fā)。

參數(shù):

appendonly設(shè)置是否開啟AOF持久化。

appendfsync有三種持久化模式:always/everysec/no,兼顧數(shù)據(jù)存儲的速度和安全性配置為everysec,每秒鐘同步一次數(shù)據(jù)到磁盤中。

3. RDB、AOF持久化優(yōu)劣勢對比

兩種方式各有千秋, 下面對比一下兩種redis數(shù)據(jù)持久化方式:

4. 選擇

Redis恢復(fù)數(shù)據(jù)時會先檢查AOF文件是否存在,如果不存在就嘗試加載RDB文件。

在實際生產(chǎn)環(huán)境中,根據(jù)數(shù)據(jù)量、應(yīng)用對數(shù)據(jù)的安全要求、預(yù)算限制等不同情況,會有各種各樣的持久化策略。如完全不使用任何持久化、使用RDB或AOF的一種,或同時開啟RDB和AOF持久化等。

PS:持久化的選擇必須與Redis的主從策略一起考慮,因為主從復(fù)制與持久化同樣具有數(shù)據(jù)備份的功能,而且主機master和從機slave可以獨立的選擇持久化方案。


當(dāng)前名稱:有效避免數(shù)據(jù)丟失!Redis持久化方案選擇詳解
分享地址:http://www.dlmjj.cn/article/djgpjcs.html