国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 使用緩存的經(jīng)驗(yàn)?

使用緩存的經(jīng)驗(yàn)?

來(lái)源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-09-19 16:30:08 1663576208

  不合理使用緩存非但不能提高系統(tǒng)的性能,還會(huì)成為系統(tǒng)的累贅,甚至風(fēng)險(xiǎn)。

  1、頻繁修改的數(shù)據(jù)

  如果緩存中保存的是頻繁修改的數(shù)據(jù),就會(huì)出現(xiàn)數(shù)據(jù)寫入緩存后,應(yīng)用還來(lái)不及讀取緩存,數(shù)據(jù)就已經(jīng)失效,徒增系統(tǒng)負(fù)擔(dān)。一般來(lái)說(shuō),數(shù)據(jù)的讀寫比在2:1(寫入一次緩存,在數(shù)據(jù)更新前至少讀取兩次)以上,緩存才有意義。

  2、沒(méi)有熱點(diǎn)的訪問(wèn)

  如果應(yīng)用系統(tǒng)訪問(wèn)數(shù)據(jù)沒(méi)有熱點(diǎn),不遵循二八定律,那么緩存就沒(méi)有意義。

使用緩存的經(jīng)驗(yàn)?

  3、數(shù)據(jù)不一致與臟讀

  一般會(huì)對(duì)緩存的數(shù)據(jù)設(shè)置失效時(shí)間,一旦超過(guò)失效時(shí)間,就要從數(shù)據(jù)庫(kù)中重新加載。因此要容忍一定時(shí)間的數(shù)據(jù)不一致,如賣家已經(jīng)編輯了商品屬性,但是需要過(guò)一段時(shí)間才能被買家看到。還有一種策略是數(shù)據(jù)更新立即更新緩存,不過(guò)這也會(huì)帶來(lái)更多系統(tǒng)開(kāi)銷和事務(wù)一致性問(wèn)題。

  4、緩存可用性

  緩存會(huì)承擔(dān)大部分?jǐn)?shù)據(jù)庫(kù)訪問(wèn)壓力,數(shù)據(jù)庫(kù)已經(jīng)習(xí)慣了有緩存的日子,所以當(dāng)緩存服務(wù)崩潰時(shí),數(shù)據(jù)庫(kù)會(huì)因?yàn)橥耆荒艹惺苋绱舜髩毫Χ礄C(jī),導(dǎo)致網(wǎng)站不可用。這種情況被稱作緩存雪崩,發(fā)生這種故障,甚至不能簡(jiǎn)單地重啟緩存服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器來(lái)恢復(fù)。

  實(shí)踐中,有的網(wǎng)站通過(guò)緩存熱備份等手段提高緩存可用性:當(dāng)某臺(tái)緩存服務(wù)器宕機(jī)時(shí),將緩存訪問(wèn)切換到熱備服務(wù)器上。但這種設(shè)計(jì)有違緩存的初衷,緩存根本就不應(yīng)該當(dāng)做一個(gè)可靠的數(shù)據(jù)源來(lái)使用。

  通過(guò)分布式緩存服務(wù)器集群,將緩存數(shù)據(jù)分布到集群多臺(tái)服務(wù)器上可在一定程度上改善緩存的可用性。當(dāng)一臺(tái)緩存服務(wù)器宕機(jī)時(shí),只有部分緩存數(shù)據(jù)丟失,重新從數(shù)據(jù)庫(kù)加載這部分?jǐn)?shù)據(jù)不會(huì)產(chǎn)生很大的影響。

  5、緩存預(yù)熱warm up

  緩存中存放的是熱點(diǎn)數(shù)據(jù),熱點(diǎn)數(shù)據(jù)又是緩存系統(tǒng)利用LRU(最近最久未用算法)對(duì)不斷訪問(wèn)的數(shù)據(jù)篩選淘汰出來(lái),這個(gè)過(guò)程需要花費(fèi)較長(zhǎng)的時(shí)間。新系統(tǒng)的緩存系統(tǒng)如果沒(méi)有任何數(shù)據(jù),在重建緩存數(shù)據(jù)的過(guò)程中,系統(tǒng)的性能和數(shù)據(jù)庫(kù)負(fù)載都不太好,那么最好在緩存系統(tǒng)啟動(dòng)時(shí)就把熱點(diǎn)數(shù)據(jù)加載好,這個(gè)緩存預(yù)加載手段叫緩存預(yù)熱。對(duì)于一些元數(shù)據(jù)如城市地名列表、類目信息,可以在啟動(dòng)時(shí)加載數(shù)據(jù)庫(kù)中全部數(shù)據(jù)到緩存進(jìn)行預(yù)熱。

  6、避免緩存穿透

  如果因?yàn)椴磺‘?dāng)?shù)臉I(yè)務(wù)、或者惡意攻擊持續(xù)高并發(fā)地請(qǐng)求某個(gè)不存在的數(shù)據(jù),由于緩存沒(méi)有保存該數(shù)據(jù),所有的請(qǐng)求都會(huì)落到數(shù)據(jù)庫(kù)上,會(huì)對(duì)數(shù)據(jù)庫(kù)造成壓力,甚至崩潰。一個(gè)簡(jiǎn)單的對(duì)策是將不存在的數(shù)據(jù)也緩存起來(lái)(其value為null)。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Visual Studio Online和GitHub有什么區(qū)別?

1.定位不同Visual Studio Online,現(xiàn)更名為Visual Studio Codespaces,是微軟提供的一款在線開(kāi)發(fā)環(huán)境,允許開(kāi)發(fā)者在云端進(jìn)行編程和調(diào)試工作。而...詳情>>

2023-10-15 00:21:42
什么是域控制器?

一、域控制器的定義域控制器是指在Windows Server操作系統(tǒng)中部署Active Directory服務(wù)的服務(wù)器。Active Directory是微軟公司開(kāi)發(fā)的目錄服務(wù),用...詳情>>

2023-10-15 00:10:28
深度學(xué)習(xí)模型權(quán)重h5、weights、ckpt、pth有什么區(qū)別?

1.來(lái)源框架不同h5格式通常用于Keras和TensorFlow框架,weights用于Darknet框架,ckpt是TensorFlow框架的一種格式,而pth則主要用于PyTorch框架...詳情>>

2023-10-15 00:05:17
大數(shù)據(jù)測(cè)試工程師需要具備哪些技能?

一、理解大數(shù)據(jù)概念大數(shù)據(jù)測(cè)試工程師需要理解大數(shù)據(jù)的基本概念和原理,如分布式存儲(chǔ)、MapReduce、實(shí)時(shí)計(jì)算等。他們還需要了解如何處理大規(guī)模的...詳情>>

2023-10-14 23:43:03
為什么SpringBoot的 jar 可以直接運(yùn)行?

一、JAR文件的結(jié)構(gòu)與執(zhí)行方式Spring Boot的JAR包是Java Archive的縮寫,它是一種壓縮文件格式,可以將Java項(xiàng)目的類文件、資源文件以及依賴庫(kù)等...詳情>>

2023-10-14 23:01:49
快速通道