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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AOF重寫方式
●手動(dòng)重寫
bgrewriteaof
●自動(dòng)重寫
auto-aof- rewrite-min-size size
auto-aof-rewrite-percentage percentage

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

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

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

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

廣告

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

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