Redis持久化-創(chuàng)新互聯(lián)

? ?
Redis持久化
■持久化概述
●Redis是運行在內(nèi)存中,內(nèi)存中的數(shù)據(jù)斷電丟失
●為了能夠重用Redis數(shù)據(jù),或者防止系統(tǒng)故障,我們需要將Redis
中的數(shù)據(jù)寫入到磁盤空間中,即持久化
■持久化分類
重點
● RDB方式:創(chuàng)建快照的方式獲取某一時刻Redis中所有 數(shù)據(jù)的副本
●AOF方式:將執(zhí)行的寫命令寫到文件的末尾,以日志的方式來記
錄數(shù)據(jù)的變化
RDB:占用資源少,不需花費大量服務(wù)器資源
AOF:專門開一個進程,隨時進行數(shù)據(jù)保存,讀寫同步進行,——類似增量備份,但是占用更大資源,重啟服務(wù)時,要進行同步數(shù)據(jù),啟動時間慢,等待時間長。服務(wù)器突然關(guān)機,不怕數(shù)據(jù)丟失。不執(zhí)行最后一條語句

RDB持久化2-1
■Redis的默認(rèn)持久化方式
■默認(rèn)文件名dump.rdb
■觸發(fā)條件
●在指定的時間間隔內(nèi),執(zhí)行指定次數(shù)的寫操作(配置文件控制)
●執(zhí)行save或者是bgsave (異步) 命令
●執(zhí)行flushall命令,清空數(shù)據(jù)庫所有數(shù)據(jù)
●執(zhí)行shutdown命令,保證服務(wù)器正常關(guān)閉且不丟失任何數(shù)據(jù)

■Redis的默認(rèn)持久化方式
■默認(rèn)文件名dump.rdb
■觸發(fā)條件
,在指定的時間間隔內(nèi),執(zhí)行指定次數(shù)的寫操作(配置文件控制)
●執(zhí)行save或者是bgsave(異步) 命令
執(zhí)行flushall命令,清空數(shù)據(jù)庫所有數(shù)據(jù)
●執(zhí)行shutdown命令,保證服務(wù)器正常關(guān)閉且不丟失任何數(shù)據(jù)
shutdown save最安全的數(shù)據(jù)保存方式

●適合大規(guī)模的數(shù)據(jù)恢復(fù)
●如果業(yè)務(wù)對數(shù)據(jù)完整性和一致性要求不高,RDB是很好的選擇
●數(shù)據(jù)的完整性和一致性不高
●備份時占用內(nèi)存
Redis持久化
RDB啟動方式:
save指令 ?手動執(zhí)行一次拍照

●dbfilename dump.rdb
說明:設(shè)置本地數(shù)據(jù)庫文件名,默認(rèn)值為dump.rdb
經(jīng)驗:通常設(shè)置為dump-端口號.rdb
●dir
說明:設(shè)置存儲.rdb文件的路徑
經(jīng)驗:通常設(shè)置成存儲空間較大的目錄中,目錄名稱data
●rdbcompressionyes
說明:設(shè)置存儲至本地數(shù)據(jù)庫時是否壓縮數(shù)據(jù),默認(rèn)為yes,采用LZF壓縮
經(jīng)驗:通常默認(rèn)為開啟狀態(tài),如果設(shè)置為no,可以節(jié)省CPU運行時間,但會使存儲的文件變大(巨大)
●rdbchecksum yes
說明:設(shè)置是否進行RDB文件格式校驗,該校驗過程在寫文件和讀文件過程均進行
經(jīng)驗:通常默認(rèn)為開啟狀態(tài),如果設(shè)置為no,可以節(jié)約讀寫性過程約10%時間消耗,但是存儲一定的數(shù)據(jù)損壞風(fēng)險

save ? ? ? ?按順序保存,容易阻塞服務(wù)器
bgsave ? ? 手動啟動后臺保存操作,但是不是立即執(zhí)行
注意: bgsave命令 是針對save阻塞問題做的優(yōu)化。Redis內(nèi)部所有涉及到RDB操作都采用bgsave的方式,save命令可以放棄使用。

save second changes
作用: 滿足限定時間范圍內(nèi)key的變化達到指定數(shù)量進行持久化
參數(shù) second: 監(jiān)控時間范圍 changes:監(jiān)控key的變化量

●全量復(fù)制
在主從復(fù)制中詳細講解
●服務(wù)器運行過程中重啟
debug reload
●關(guān)閉服務(wù)器時指定保存數(shù)據(jù)
shutdowm save

AOF數(shù)據(jù)持久化
■Redis默認(rèn)不開啟
■彌補RDB的不足(數(shù)據(jù)的不一致性)
■采用日志的形式來記錄每個寫操作,并追加到文件中
■Redis重啟會根據(jù)日志文件的內(nèi)容將寫指令從前到后執(zhí)
行一次以完成數(shù)據(jù)的恢復(fù)工作
Redis持久化

■AOF的重寫機制
●AOF的工作原理是將寫操作追加到文件中,文件的冗余內(nèi)容會越
來越多
●當(dāng)AOF文件的大小超過所設(shè)定的閾值時,Redis就會對AOF文件
的內(nèi)容壓縮
■AOF重寫的原理
●Redis會fork出一條新進程,讀取內(nèi)存中的數(shù)據(jù)(并沒有讀取舊
文件),并重新寫到-一個臨時文件中,最后替換舊的aof文件

AOF重寫
隨著命令不斷寫入AOF,文件會越來越大,為了解決這個問題,Redis引入了 AOF重寫機制壓縮文件體積。AOF文件重
寫是將Redis進程內(nèi)的數(shù)據(jù)轉(zhuǎn)化為寫命令同步到新AOF文件的過程。簡單說就是將對同一一個數(shù)據(jù)的若干個條命令執(zhí)行結(jié)
果轉(zhuǎn)化成最終結(jié)果數(shù)據(jù)對應(yīng)的指令進行記錄。
AOF重寫作用
●降低磁盤占用量,提高磁盤利用率
●提高持久化效率,降低持久化寫時間,提高IO性能
●降低數(shù)據(jù)恢復(fù)用時,提高數(shù)據(jù)恢復(fù)效率

■AOF的重寫配置
vim /etc/redis/6379.conf
#在日志進行BGREWRITEAOF時,如果設(shè)置為yes表示新寫操作不進行同步fsync,只是
暫存在緩沖區(qū)里,避免造成磁盤I0操作沖突,等重寫完成后在寫入。redis中默認(rèn)為no
no-appendfsync-on-rewrite no
#當(dāng)前AOF文件大小是上次日志重寫時AOF文件大小兩倍時,發(fā)生BGREWRITEAOF操作
auto-aof-rewrite-percentage 100
#當(dāng)前AOF文件執(zhí)行BGREWRITEAOF命令的最小值,避免剛開始啟動Reids時由于文件尺
寸較小導(dǎo)致頻繁的BGREWRITEAOF
auto-aof-rewrite-min-size 64mb

# appendfsync always ? ?每次寫入操作均同步AOF
appendtsync everysec ? ? 每秒在系統(tǒng)宕機情況下1秒鐘的數(shù)據(jù)
# appendfsync no ? ? ? ? ? 系統(tǒng)控制
aof-load-truncated yes
Redis持久化
Redis持久化

#在日志進行BGREWRITEAOF時,如果設(shè)置為yes表示新寫操作不進行同步fsync,只是
暫存在緩沖區(qū)里,避免造成磁盤I0操作沖突,等重寫完成后在寫入。redis中默認(rèn)為no
no-appendfsync-on-rewrite no ? ?默認(rèn)是no
#當(dāng)前AOF文件大小是上次日志重寫時AOF文件大小兩倍時,發(fā)生BGREWRITEAOF操作
auto-aof-rewrite-percentage 100
#當(dāng)前AOF文件執(zhí)行BGREWRITEAOF命令的最小值,避免剛開始啟動Reids時由于文件尺
寸較小導(dǎo)致頻繁的BGREWRITEAOF
auto-aof-rewrite -min-size 64mb

AOF重寫方式
●手動重寫
bgrewriteaof
●自動重寫
auto-aof- rewrite-min-size size
auto-aof-rewrite-percentage percentage

成都創(chuàng)新互聯(lián)公司長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍陵企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,龍陵網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

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

新聞名稱:Redis持久化-創(chuàng)新互聯(lián)
URL標(biāo)題:http://muchs.cn/article20/ceoejo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、定制開發(fā)品牌網(wǎng)站設(shè)計、用戶體驗、定制網(wǎng)站、關(guān)鍵詞優(yōu)化

廣告

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

成都定制網(wǎng)站建設(shè)