欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何使用redis實(shí)現(xiàn)持久化-創(chuàng)新互聯(lián)

如何使用redis實(shí)現(xiàn)持久化?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)公司10多年企業(yè)網(wǎng)站設(shè)計(jì)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站設(shè)計(jì)及推廣,對(duì)水處理設(shè)備等多個(gè)領(lǐng)域擁有多年的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。

RDB

RDB就是持久化的一種手段,把內(nèi)存中數(shù)據(jù)在某些條件下寫(xiě)到磁盤(pán)中去。那么在哪些條件下寫(xiě)入呢?不可能無(wú)腦寫(xiě)入,來(lái)一個(gè)寫(xiě)一個(gè),影響性能,也不能等老半天才寫(xiě)一個(gè),萬(wàn)一中間宕機(jī)了,數(shù)據(jù)全丟失,還不如用memcached。在redis的配置里有著這樣的一段配置:

save 900 1

save 300 10

save 60 10000

很關(guān)鍵的一段配置,這時(shí)RDB持久化的核心。意思是:

1.如果900秒時(shí),有1個(gè)key變化(插入或者更新),我就同步到磁盤(pán)一下

2.如果300秒時(shí),有10個(gè)key變化(插入或者更新),我就同步到磁盤(pán)一下

3.如果60秒時(shí),有10000個(gè)key變化(插入或者更新),我就同步到磁盤(pán)一下

這些時(shí)間點(diǎn)和變化的數(shù)量是怎么知道的,這時(shí)有另外兩個(gè)極為關(guān)鍵的東西,一個(gè)叫dirty計(jì)數(shù)器,一個(gè)叫l(wèi)astsave(上次save的時(shí)間),dirty計(jì)數(shù)器專門(mén)記錄從上次save后變化key的數(shù)量,lastsave記錄執(zhí)行save的時(shí)間,舉個(gè)例子剛開(kāi)始時(shí)間是time1,dirty是0,這時(shí)有20個(gè)key發(fā)生了變化,dirty是20,然后現(xiàn)在的時(shí)間是time2,time2-time1 >= 300,滿足第二個(gè)條件,這時(shí)內(nèi)存中的數(shù)據(jù)會(huì)save一下,同時(shí)dirty清為0,然后再等待條件觸發(fā)。

如果我60秒內(nèi)有10萬(wàn)個(gè)key,那么問(wèn)題來(lái)了,一下大量磁盤(pán)io來(lái)臨,這時(shí)redis主進(jìn)程就會(huì)阻塞,期間的所有的命令都不執(zhí)行,這哪能行,于是就來(lái)了一個(gè)叫bgsave的,它是redis主進(jìn)程fork出來(lái)的一個(gè)子進(jìn)程,專門(mén)執(zhí)行rdb的持久化工作的。

保存的文件格式是二進(jìn)制格式的,萬(wàn)一數(shù)據(jù)庫(kù)宕機(jī),恢復(fù)不需要人為干預(yù),redis會(huì)自動(dòng)讀取磁盤(pán)文件。

AOF

與RDB不同,AOF存儲(chǔ)的是你執(zhí)行的命令,當(dāng)aof功能打開(kāi)的時(shí)候,執(zhí)行的更新命令不會(huì)直接寫(xiě)到aof文件中去,而是先寫(xiě)到一個(gè)aof buf中,我們知道不能一直往buf中寫(xiě),buf也是內(nèi)存啊,那么何時(shí)才能同步到磁盤(pán)中去呢?redis中也有這樣一段配置

appendfsync always

appendfsync everysec

appendfsync no

意思是:

1.只要有更新的命令我就同步

2.如果上次同步時(shí)間距離現(xiàn)在超過(guò)一秒就同步

3.不同步,等待操作系統(tǒng)自己判斷(什么時(shí)候我有空我才同步)

分析下,第一種io頻繁,io壓力大,但丟失數(shù)據(jù)的概率最小,第二種io壓力不是很大,最多也就丟失1秒左右的數(shù)據(jù),第三中io壓力很小,丟失數(shù)據(jù)概率太大。綜合考慮,一般第二種。但還有個(gè)問(wèn)題,我執(zhí)行了100次INCR num,按道理num就是100,aof中也有100個(gè)同樣的命令,沒(méi)毛病,那么請(qǐng)問(wèn)執(zhí)行100次INCR num和SET num 100有什么區(qū)別,同樣的結(jié)果前者多了99倍的空間,很浪費(fèi)啊,于是就出現(xiàn)了AOF重寫(xiě),它是怎么做到的。很簡(jiǎn)單:首先從數(shù)據(jù)庫(kù)讀取現(xiàn)在的值,然后用一條記錄代替,這就是AOF重寫(xiě)的原理。重寫(xiě)很花時(shí)間,所以也是子進(jìn)程來(lái)處理。重寫(xiě)的過(guò)程中,如果有新的命令來(lái)臨怎么辦,老辦法,寫(xiě)buf緩沖,重寫(xiě)完成后,把buf中的命令追加到新的aof中,然后用新的aof替代老的aof,就實(shí)現(xiàn)了重寫(xiě)。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)建站的支持。

網(wǎng)站欄目:如何使用redis實(shí)現(xiàn)持久化-創(chuàng)新互聯(lián)
文章分享:http://chinadenli.net/article40/dgpoeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、App設(shè)計(jì)手機(jī)網(wǎng)站建設(shè)、全網(wǎng)營(yíng)銷推廣、企業(yè)網(wǎng)站制作品牌網(wǎng)站制作

廣告

聲明:本網(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)

手機(jī)網(wǎng)站建設(shè)