国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

三大緩存問(wèn)題及解決方案

Simon / 1141人閱讀

摘要:在某些查詢中,可以將所有可能的查詢條件放入這個(gè)集合,在查詢之前使用這個(gè)集合對(duì)查詢條件進(jìn)行過(guò)濾,就可以避免緩存穿透的問(wèn)題。解決方案二級(jí)緩存對(duì)于那些熱度高的數(shù)據(jù)設(shè)置二級(jí)緩存,并且錯(cuò)開(kāi)和一級(jí)緩存的失效時(shí)間,使請(qǐng)求不會(huì)同時(shí)穿透兩層緩存去訪問(wèn)數(shù)據(jù)庫(kù)

在我們的實(shí)際開(kāi)發(fā)應(yīng)用中,緩存機(jī)制的廣泛存在,大大的提高了系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的請(qǐng)求承受閾值,但是在一些特定的場(chǎng)景下,需要去了解它可能出現(xiàn)的問(wèn)題和對(duì)應(yīng)的解決方案,才能更好的增加我們系統(tǒng)的健壯性

1.緩存穿透

問(wèn)題場(chǎng)景
在一般的查詢場(chǎng)景下,當(dāng)一次查詢從緩存中查詢不到對(duì)應(yīng)的信息,那么會(huì)繼續(xù)去訪問(wèn)數(shù)據(jù)庫(kù)進(jìn)行查詢,這種過(guò)程被稱為緩存穿透。看似正常的操作,實(shí)際上,當(dāng)有人惡意的去使用根本不存在的數(shù)據(jù)去頻繁訪問(wèn)服務(wù)器,可能就會(huì)造成系統(tǒng)的癱瘓。

解決方案
bloom filter(布隆過(guò)濾器):是一種空間效率很高的隨機(jī)數(shù)據(jù)結(jié)構(gòu),它利用位數(shù)組很簡(jiǎn)潔地表示一個(gè)集合,并能判斷一個(gè)元素是否屬于這個(gè)集合。它是一個(gè)判斷元素是否存在集合的快速的概率算法。在某些查詢中,可以將所有可能的查詢條件放入這個(gè)集合,在查詢之前使用這個(gè)集合對(duì)查詢條件進(jìn)行過(guò)濾,就可以避免緩存穿透的問(wèn)題。
空值緩存:在第一次查詢?yōu)榭罩抵螅瑢⑦@個(gè)查詢條件key存入緩存中,緩存時(shí)間設(shè)置為較短時(shí)間,這樣可以應(yīng)對(duì)一些短時(shí)間內(nèi)大量重復(fù)查詢的情況。

2.緩存雪崩

問(wèn)題場(chǎng)景
我們?cè)谑褂美鏡edis來(lái)進(jìn)行緩存操作的時(shí)候,一般會(huì)給緩存設(shè)置一個(gè)過(guò)期時(shí)間,但是對(duì)于大量緩存過(guò)期時(shí)間相同的系統(tǒng)來(lái)說(shuō),可能會(huì)因?yàn)槟硞€(gè)時(shí)間段緩存同時(shí)失效而造成所有本應(yīng)該由緩存來(lái)接受的請(qǐng)求直接請(qǐng)求到數(shù)據(jù)庫(kù),造成數(shù)據(jù)庫(kù)崩潰。當(dāng)發(fā)生雪崩的時(shí)候,沒(méi)有一片雪花覺(jué)得是自己的責(zé)任。

解決方案
交叉失效時(shí)間:在設(shè)置緩存時(shí)間的時(shí)候,我們可以在一段合理的范圍時(shí)間內(nèi),隨機(jī)的去設(shè)置這些緩存的過(guò)期時(shí)間,避免同一過(guò)期時(shí)間

3.緩存擊穿

問(wèn)題場(chǎng)景
緩存擊穿是緩存雪崩的一個(gè)特例,某個(gè)多帶帶的熱點(diǎn)的緩存因?yàn)檫^(guò)期時(shí)間導(dǎo)致失效,那么同樣會(huì)有大量的請(qǐng)求去訪問(wèn)數(shù)據(jù)庫(kù)導(dǎo)致崩潰。與緩存雪崩不同的是,緩存擊穿更像是某一熱度點(diǎn)的緩存雪崩。

解決方案
二級(jí)緩存:對(duì)于那些熱度高的數(shù)據(jù)設(shè)置二級(jí)緩存,并且錯(cuò)開(kāi)和一級(jí)緩存的失效時(shí)間,使請(qǐng)求不會(huì)同時(shí)穿透兩層緩存去訪問(wèn)數(shù)據(jù)庫(kù)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/62113.html

相關(guān)文章

  • 淺談并發(fā)Java實(shí)現(xiàn) (一) - 并發(fā)設(shè)計(jì)的三大原則

    摘要:并發(fā)設(shè)計(jì)的三大原則原子性原子性對(duì)共享變量的操作相對(duì)于其他線程是不可干擾的,即其他線程的執(zhí)行只能在該原子操作完成后或開(kāi)始前執(zhí)行。發(fā)現(xiàn)兩個(gè)線程運(yùn)行結(jié)束后的值為。這就是在多線程情況下要求程序執(zhí)行的順序按照代碼的先后順序執(zhí)行的原因之一。 并發(fā)設(shè)計(jì)的三大原則 原子性 原子性:對(duì)共享變量的操作相對(duì)于其他線程是不可干擾的,即其他線程的執(zhí)行只能在該原子操作完成后或開(kāi)始前執(zhí)行。 通過(guò)一個(gè)小例子理解 pu...

    gecko23 評(píng)論0 收藏0
  • java篇 - 收藏集 - 掘金

    摘要:進(jìn)階多線程開(kāi)發(fā)關(guān)鍵技術(shù)后端掘金原創(chuàng)文章,轉(zhuǎn)載請(qǐng)務(wù)必將下面這段話置于文章開(kāi)頭處保留超鏈接。關(guān)于中間件入門教程后端掘金前言中間件 Java 開(kāi)發(fā)人員最常犯的 10 個(gè)錯(cuò)誤 - 后端 - 掘金一 、把數(shù)組轉(zhuǎn)成ArrayList 為了將數(shù)組轉(zhuǎn)換為ArrayList,開(kāi)發(fā)者經(jīng)常... Java 9 中的 9 個(gè)新特性 - 后端 - 掘金Java 8 發(fā)布三年多之后,即將快到2017年7月下一個(gè)版...

    OpenDigg 評(píng)論0 收藏0
  • 邊緣計(jì)算已達(dá)到高潮!看三大運(yùn)營(yíng)商如何打好邊緣戰(zhàn)

    摘要:邊緣計(jì)算是指在網(wǎng)絡(luò)邊緣節(jié)點(diǎn)來(lái)處理分析數(shù)據(jù)。打好邊緣戰(zhàn),三大運(yùn)營(yíng)商齊頭并進(jìn)為了加強(qiáng)自身在邊緣計(jì)算領(lǐng)域的實(shí)力,三大運(yùn)營(yíng)商已經(jīng)開(kāi)始提前布局,并取得了一定的成績(jī)。此外,據(jù)了解,目前中國(guó)聯(lián)通邊緣云生態(tài)合作伙伴已達(dá)家。隨著萬(wàn)物互聯(lián)時(shí)代的到來(lái),網(wǎng)絡(luò)邊緣設(shè)備產(chǎn)生的數(shù)據(jù)量飛速增長(zhǎng),帶來(lái)了更高的數(shù)據(jù)傳輸帶寬需求,同時(shí),新型應(yīng)用也對(duì)數(shù)據(jù)處理的實(shí)時(shí)性以及數(shù)據(jù)存儲(chǔ)也提出了更高的要求。傳統(tǒng)的云計(jì)算模型不能滿足現(xiàn)有的性能...

    banana_pi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<