日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

緩存系統(tǒng)的三座大山

Linux愛好者 ? 來源:程序員大白啊 ? 2020-08-14 17:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.無處不在的緩存

緩存在計(jì)算機(jī)系統(tǒng)是無處不在,在CPU層面有L1-L3的Cache,在Linux中有TLB加速虛擬地址和物理地址的轉(zhuǎn)換,在瀏覽器有本地緩存、手機(jī)有本地緩存等。

可見,緩存在計(jì)算機(jī)系統(tǒng)中有非常重要的地位,其主要作用是提高響應(yīng)速度、減少磁盤訪問等,本文主要討論在高并發(fā)系統(tǒng)中的緩存系統(tǒng)。

一句話概括緩存系統(tǒng)在高并發(fā)系統(tǒng)中的地位的話:如果高并發(fā)系統(tǒng)是烤羊肉串,那么緩存系統(tǒng)就是那一撮孜然。

2.高并發(fā)系統(tǒng)中的緩存

2.1 緩存系統(tǒng)的作用

緩存系統(tǒng)在高并發(fā)系統(tǒng)的作用很大,在某種程度上可以說沒有緩存系統(tǒng)很難支撐高并發(fā)場景。

基于機(jī)械磁盤或SSD的數(shù)據(jù)庫系統(tǒng),一般來說讀寫的速度遠(yuǎn)慢于內(nèi)存,因此單純磁盤介質(zhì)的數(shù)據(jù)庫無法支撐很高的并發(fā),可以簡單認(rèn)為緩存是保護(hù)磁盤數(shù)據(jù)庫的重要屏障。

對于一些基于LSM的存儲引擎數(shù)據(jù)庫來說,隨機(jī)寫改為順序?qū)懰俣忍嵘艽?,但是隨機(jī)讀仍然是個(gè)問題,所以緩存系統(tǒng)是很有必要的。

2.2 緩存系統(tǒng)訪問流程

實(shí)際場景也是讀多寫少,看看請求是如何得到響應(yīng)的,簡單看下交互流程:

請求到達(dá)之后,業(yè)務(wù)線程首先訪問緩存,如果緩存命中則返回

如果未命中則繼續(xù)請求磁盤數(shù)據(jù)庫系統(tǒng),獲取數(shù)據(jù)返回

從磁盤獲取數(shù)據(jù)后將結(jié)果回寫到緩存系統(tǒng)且增加老化時(shí)間,為下次請求做準(zhǔn)備

以上是高并發(fā)系統(tǒng)中緩存和磁盤數(shù)據(jù)庫系統(tǒng)、客戶端請求之間的交互過程,后續(xù)的問題分析,也是基于此過程展開的。

3.緩存系統(tǒng)的三大問題

網(wǎng)絡(luò)上對于緩存三大問題的文章很多,提到的三個(gè)問題主要是:

緩存雪崩 Cache Avalanche

緩存穿透 Cache Penetration

緩存擊穿 Hotspot Invalid

對于上面的三個(gè)名詞我一直分不清楚,腦海中并沒有清晰的區(qū)別。

于是想到去谷歌看看歪果仁是怎么說的,然而英文表述就是上面的英文,基本上和漢語翻譯是一樣的,所以只能強(qiáng)記,太難了。

3.1 緩存雪崩問題

所謂雪崩就是原來有所支撐的冰雪,某一瞬間失去依托,瞬間涌下來。

這個(gè)場景讓我想起了2011年上映的柯南劇場版《沉默的十五分鐘》,柯南在北澤村水庫為了拯救村莊制造的雪崩:

可見雪崩確實(shí)很可怕,回到高并發(fā)系統(tǒng),如果緩存系統(tǒng)故障,大量的請求無法從緩存完成數(shù)據(jù)請求,就全量洶涌沖向磁盤數(shù)據(jù)庫系統(tǒng),導(dǎo)致數(shù)據(jù)庫被打死,整個(gè)系統(tǒng)徹底崩潰。

3.2 緩存雪崩解決方案

造成緩存雪崩的主要原因是緩存系統(tǒng)不夠高可用,因此提高緩存系統(tǒng)的穩(wěn)定性和可用性十分必要,比如對于使用Redis作為緩存的系統(tǒng)而言可以使用哨兵機(jī)制、集群化、持久化等來提高緩存系統(tǒng)的HA。

除了保證緩存系統(tǒng)的HA之外,服務(wù)本身也需要支持降級,可以借助比如Hystrix來實(shí)現(xiàn)服務(wù)的熔斷、降級、限流來降低出現(xiàn)雪崩時(shí)的故障程度。

說白了就是別讓服務(wù)徹底死掉就行,就像大雪封高速肯定不能通行了,堵車慢一些至少可以走。

3.3 緩存穿透問題

穿透形象一點(diǎn)就是:請求過來了 轉(zhuǎn)了一圈 一無所獲 就像穿過透明地帶一樣。

在高并發(fā)系統(tǒng)中緩存穿透,如果一個(gè)req需要請求的數(shù)據(jù)在緩存中沒有,這時(shí)業(yè)務(wù)線程就會訪問磁盤數(shù)據(jù)庫系統(tǒng),然而磁盤數(shù)據(jù)庫也沒有這個(gè)數(shù)據(jù),無奈業(yè)務(wù)線程只能白白處理一圈。

如果某時(shí)段有大量惡意的不存在的key的集中請求,那么服務(wù)將一直處理這些根本不存在的請求,導(dǎo)致正常請求無法被處理,從而出現(xiàn)問題。

舉個(gè)栗子:


拉面館的服務(wù)員和廚師不允許拒絕已經(jīng)進(jìn)來的消費(fèi)者,但是拉面館的經(jīng)營范圍有限。此時(shí)惡意消費(fèi)者點(diǎn)了一只5斤的澳洲龍蝦,經(jīng)過服務(wù)員和廚師都無法響應(yīng)這個(gè)需求,此時(shí)輪流來了1000個(gè)這樣的惡意消費(fèi)者,拉面館基本要歇菜了。

3.4 緩存穿透解決方案

有效甄別是否存在這個(gè)key再決定是否讀取很重要,常見的做法有:

把不存在的key寫一下null,這樣再來就相當(dāng)于命中了,其實(shí)這種方法局限性很大,今天是5斤龍蝦,明天改成6斤的螃蟹,緩存系統(tǒng)和數(shù)據(jù)庫中存儲大量無用key本身是無意義的,所以一般不建議

另外一種思路,轉(zhuǎn)換為查找問題,類似于在海量數(shù)據(jù)中查找某個(gè)key是否存在,考慮空間復(fù)雜度和時(shí)間復(fù)雜度,一般選用布隆過濾器來實(shí)現(xiàn)。

布隆過濾器是個(gè)好東西,有非常多的用途,包括:垃圾郵件識別、搜索蜘蛛爬蟲url去重等,主要借助K個(gè)哈希函數(shù)和一個(gè)超大的bit數(shù)組來降低哈希沖突本身帶來的誤判,從而提高識別準(zhǔn)確性。

布隆過濾器也存在一定的誤判,假如判斷存在可能不一定存在,但是假如判斷不存在就一定不存在,因此剛好用在解決緩存穿透的key查找場景,事實(shí)上很多系統(tǒng)都是基于布隆過濾器來解決緩存穿透問題的。

3.5 緩存擊穿問題

緩存擊穿是這樣一種情況:

由于緩存系統(tǒng)中的熱點(diǎn)數(shù)據(jù)都有過期時(shí)間,如果沒有過期時(shí)間就造成了主存和緩存的數(shù)據(jù)不一致,因此過期時(shí)間一般都不會太長。

設(shè)想某時(shí)刻一批熱點(diǎn)數(shù)據(jù)同時(shí)在緩存系統(tǒng)中過期失效,那么這部分?jǐn)?shù)據(jù)就都將請求磁盤數(shù)據(jù)庫系統(tǒng)。

從描述上來看有點(diǎn)像微小規(guī)模的雪崩,但是對數(shù)據(jù)庫的壓力就很小了,只不過會影響并發(fā)性能,然而在多線程場景中緩存擊穿卻是經(jīng)常發(fā)生的,相反緩存穿透和雪崩頻率不如緩存擊穿,因此研究擊穿的現(xiàn)實(shí)意義更大一些。

3.6 緩存擊穿解決方案

可以采用的方案大概有幾種:

在設(shè)置熱點(diǎn)數(shù)據(jù)過期時(shí)間時(shí)盡量分散,比如設(shè)置100ms的基礎(chǔ)值,在此基礎(chǔ)上正負(fù)浮動10ms,從而降低相同時(shí)刻出現(xiàn)CacheMiss的key的數(shù)量。

另外一種做法是多線程加鎖,其中第一個(gè)線程發(fā)現(xiàn)CacheMiss之后進(jìn)行加鎖,再從數(shù)據(jù)庫獲取內(nèi)容之后寫到緩存中,其他線程獲取鎖失敗則阻塞數(shù)ms之后再進(jìn)行緩存讀取,這樣可以降低訪問數(shù)據(jù)數(shù)據(jù)庫的線程數(shù),需要注意在單機(jī)和集群需要使用不同的鎖,集群環(huán)境使用分布式鎖來實(shí)現(xiàn),但是由于鎖的存在也會影響并發(fā)效率。

一種方法是在業(yè)務(wù)層對使用的熱點(diǎn)數(shù)據(jù)查看是否即將過期,如果即將過期則去數(shù)據(jù)庫獲取最新數(shù)據(jù)進(jìn)行更新并延長該熱點(diǎn)key在緩存系統(tǒng)中的時(shí)間,從而避免后面的過期CacheMiss,相當(dāng)于把事情提前解決了。

緩存擊穿的解決方法都有一定的權(quán)衡,實(shí)際中根據(jù)自己的需求來解決。

緩存擊穿的影響一般來說并不會太大,或許在你的服務(wù)跑了很久之后你才意識到會有緩存擊穿問題。

4.小結(jié)

緩存系統(tǒng)無論在實(shí)際工作中還是在面試中都是熱點(diǎn)內(nèi)容,緩存系統(tǒng)目的是為了讓訪問又準(zhǔn)又快,不要一味追求緩存命中率,緩存和主數(shù)據(jù)庫的數(shù)據(jù)一致性是需要重點(diǎn)考慮的。

總起來說,如何在保證數(shù)據(jù)正確性的前提下提高緩存命中率就是核心問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11332

    瀏覽量

    225985
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11822

    瀏覽量

    219600
  • 緩存
    +關(guān)注

    關(guān)注

    1

    文章

    248

    瀏覽量

    27826

原文標(biāo)題:什么是緩存系統(tǒng)三座大山

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    曲面鏡片檢測大痛點(diǎn),你遇到過幾個(gè)?深視智能點(diǎn)光譜傳感器通通搞定!

    型號|SCI01045曲面鏡片檢測個(gè)痛點(diǎn),一個(gè)比一個(gè)棘手高透明材質(zhì)、大曲率曲面、接觸式劃傷——傳統(tǒng)檢測方法的“三座大山”,正在悄悄拉低你的良率。在精密光學(xué)、AR/VR、車載鏡頭、手機(jī)攝像頭等領(lǐng)域
    的頭像 發(fā)表于 04-13 08:19 ?118次閱讀
    曲面鏡片檢測<b class='flag-5'>三</b>大痛點(diǎn),你遇到過幾個(gè)?深視智能點(diǎn)光譜傳感器通通搞定!

    御控網(wǎng)關(guān)如何讓水務(wù)管理不再難

    分鐘。 老張翻了個(gè)身,繼續(xù)睡。 放在兩年前,這種情況他得摸黑起床,開車1個(gè)半小時(shí)趕到現(xiàn)場。來回3小時(shí),就為了按一個(gè)按鈕。 這不是科幻,這是御控網(wǎng)關(guān)給水務(wù)行業(yè)帶來的真實(shí)改變。 一、水務(wù)管理的“三座大山” 做過水務(wù)的人都知道,這行
    的頭像 發(fā)表于 04-10 08:40 ?111次閱讀

    京東緩存中間件架構(gòu)與緩存內(nèi)核優(yōu)化

    一、京東緩存中間件架構(gòu) 1、背景 在當(dāng)今高并發(fā)、分布式的系統(tǒng)架構(gòu)中,緩存已成為提升應(yīng)用性能、降低數(shù)據(jù)庫負(fù)載的核心組件。隨著業(yè)務(wù)規(guī)模的擴(kuò)大與系統(tǒng)復(fù)雜度的增加,
    的頭像 發(fā)表于 04-03 16:18 ?1829次閱讀
    京東<b class='flag-5'>緩存</b>中間件架構(gòu)與<b class='flag-5'>緩存</b>內(nèi)核優(yōu)化

    2026年可調(diào)電源行業(yè)痛點(diǎn)解析:看廣州郵科如何提供破局方案

    2026年,可調(diào)電源行業(yè)正經(jīng)歷一場“生死絞殺”。原材料瘋漲、能效標(biāo)準(zhǔn)卡死、海外芯片卡脖子,三座大山壓得廠商喘不過氣。選對電源,就是選對生存之道。今天,我們聊聊行業(yè)痛點(diǎn),以及像廣州郵科這樣的本土企業(yè)如何破局。
    的頭像 發(fā)表于 03-19 10:58 ?348次閱讀
    2026年可調(diào)電源行業(yè)痛點(diǎn)解析:看廣州郵科如何提供破局方案

    明治案例 | 反光強(qiáng)、易變形、難識別?這款傳感器推翻銀色包裝袋檢測的“三座大山

    的正反面識別?本期小明將用一款僅有耳機(jī)盒大小的視覺傳感器,提供快速拆解這一技術(shù)難題的解決方案。大難點(diǎn)柔軟易變形包裝袋在傳送帶上可能折疊、扭曲,導(dǎo)致輪廓不規(guī)則,傳
    的頭像 發(fā)表于 01-27 07:33 ?291次閱讀
    明治案例 | 反光強(qiáng)、易變形、難識別?這款傳感器推翻銀色包裝袋檢測的“<b class='flag-5'>三座大山</b>”

    智能ODF配線架如何破解光纖管理難題?

    在某大型數(shù)據(jù)中心,運(yùn)維人員曾面臨這樣的困境:數(shù)千芯光纖錯(cuò)綜復(fù)雜,一次跳纖操作需3人協(xié)作2小時(shí),且故障排查依賴經(jīng)驗(yàn)。而如今,智能ODF配線架的出現(xiàn),讓這一切成為歷史。 一、傳統(tǒng)光纖管理的“三座大山
    的頭像 發(fā)表于 10-30 11:33 ?833次閱讀

    油氣化工行業(yè)低壓電器設(shè)備有何創(chuàng)新發(fā)展路徑

    能效、成本、可靠性,作為國民經(jīng)濟(jì)的重要支柱,流程工業(yè)的高質(zhì)量發(fā)展繞不過這“三座大山”。其中,油氣化工、冶金等重點(diǎn)行業(yè)對電氣設(shè)備的依賴程度高,設(shè)備性能直接關(guān)系到生產(chǎn)連續(xù)性、運(yùn)營成本與環(huán)境影響。由此,翻越“大山”的路徑不由得共同指向了“電氣設(shè)備的優(yōu)化” 這一核心議題。
    的頭像 發(fā)表于 10-16 16:03 ?777次閱讀

    小封裝,大智慧:WTV380C流媒體功放芯片集成獨(dú)立解碼能力,最高32M內(nèi)置Flash存儲和D類功放!

    一起來看看。傳統(tǒng)音頻播放方案的“三座大山”說起傳統(tǒng)的音頻播放方案,相信很多工程師朋友都有一肚子苦水要倒。就像搬家時(shí)那些又重又占地方的老家具,傳統(tǒng)方案也面臨著個(gè)讓人頭疼的問題:體積大得像個(gè)"小胖墩"、音質(zhì)
    的頭像 發(fā)表于 10-13 17:25 ?1058次閱讀
    小封裝,大智慧:WTV380C流媒體功放芯片集成獨(dú)立解碼能力,最高32M內(nèi)置Flash存儲和D類功放!

    實(shí)戰(zhàn)分享:如何通過IoT數(shù)據(jù)中臺與預(yù)測性維護(hù),將工廠OEE提升25%?

    就像“黑箱”,效率高低全憑老師傅經(jīng)驗(yàn);設(shè)備說壞就壞,一停就是一整天,損失的都是真金白銀…… 成本失控、效率低下、質(zhì)量波動——這制造業(yè)的“三座大山”,壓得人喘不過氣。 很多人首先想到的是“機(jī)器換人”,但動輒千萬的
    的頭像 發(fā)表于 08-25 15:25 ?599次閱讀
    實(shí)戰(zhàn)分享:如何通過IoT數(shù)據(jù)中臺與預(yù)測性維護(hù),將工廠OEE提升25%?

    谷東智能亮相2025年AI眼鏡產(chǎn)業(yè)共創(chuàng)共贏峰會

    近日,在潮電智庫主辦的“2025年第二屆AI眼鏡產(chǎn)業(yè)共創(chuàng)共贏峰會”上,谷東智能用一場不到20分鐘的主題演講,把過去困擾AI+AR眼鏡的“三座大山”——高功耗、高成本、高退貨率——一口氣掀翻。演講結(jié)束
    的頭像 發(fā)表于 07-26 14:19 ?2155次閱讀

    千方科技推出AI大模型公路構(gòu)造物評定系統(tǒng)

    公路構(gòu)造物(橋梁、隧道、涵洞等)檢測評定是養(yǎng)護(hù)管理的核心環(huán)節(jié),通過量化構(gòu)造物的技術(shù)狀況評定等級,可為養(yǎng)護(hù)資源分配決策提供技術(shù)支持。傳統(tǒng)公路構(gòu)造物技術(shù)狀況評定面臨“三座大山”:一是評定結(jié)果易受人
    的頭像 發(fā)表于 07-09 15:54 ?1145次閱讀

    SiC/磁材破局關(guān)鍵戰(zhàn)!百余位技術(shù)精英聚首東莞

    在“雙碳”目標(biāo)的驅(qū)動下,光儲充產(chǎn)業(yè)迎來爆發(fā)式增長,但效率瓶頸、安全焦慮與成本高壓仍是橫亙在行業(yè)面前的三座大山。 6月26日,第十六屆光儲充關(guān)鍵元器件技術(shù)創(chuàng)新研討會邀請來自德州儀器(TI)、瑞薩電子
    的頭像 發(fā)表于 06-23 16:28 ?893次閱讀
    SiC/磁材破局關(guān)鍵戰(zhàn)!百余位技術(shù)精英聚首東莞

    聚徽視角|粉塵、油污、震動:工業(yè)觸摸屏一體機(jī)如何攻克重工業(yè)環(huán)境“三座大山”?

    在鋼鐵冶煉、礦山開采、船舶制造等重工業(yè)場景中,工業(yè)觸摸屏一體機(jī)需直面粉塵、油污、震動的重考驗(yàn)。某鋼鐵廠高爐控制屏因粉塵侵入導(dǎo)致觸控失靈,引發(fā)高爐停產(chǎn)事故,單日損失超500萬元;某船舶發(fā)動機(jī)調(diào)試臺因
    的頭像 發(fā)表于 06-11 14:21 ?1038次閱讀

    RAKsmart服務(wù)器如何助力企業(yè)破解AI轉(zhuǎn)型的難題

    當(dāng)今,企業(yè)AI轉(zhuǎn)型已成為提升競爭力的核心戰(zhàn)略。然而,算力不足、成本失控、部署復(fù)雜等問題卻成為橫亙在轉(zhuǎn)型路上的“三座大山”。面對這一挑戰(zhàn),RAKsmart服務(wù)器憑借其技術(shù)創(chuàng)新與全球化資源整合能力,為企業(yè)提供了一套從底層硬件到上層應(yīng)用的全棧解決方案,助力企業(yè)突破AI轉(zhuǎn)型瓶頸。
    的頭像 發(fā)表于 05-27 10:00 ?558次閱讀

    MCU緩存設(shè)計(jì)

    MCU 設(shè)計(jì)通過優(yōu)化指令與數(shù)據(jù)的訪問效率,顯著提升系統(tǒng)性能并降低功耗,其核心架構(gòu)與實(shí)現(xiàn)策略如下: 一、緩存類型與結(jié)構(gòu) 指令緩存(I-Cache)與數(shù)據(jù)緩存(D-Cache)? I-Ca
    的頭像 發(fā)表于 05-07 15:29 ?1305次閱讀
    溧水县| 大洼县| 噶尔县| 海盐县| 资源县| 九台市| 汕尾市| 铅山县| 湟中县| 陕西省| 疏勒县| 荥阳市| 山西省| 随州市| 娄烦县| 绵竹市| 军事| 香港| 额尔古纳市| 日照市| 建瓯市| 东明县| 泰安市| 长垣县| 莲花县| 西藏| 民勤县| 威信县| 陆河县| 武功县| 高邮市| 枣强县| 隆安县| 东台市| 晋城| 广灵县| 甘肃省| 大庆市| 龙泉市| 江城| 陆良县|