国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

經(jīng)典面試題:一文了解常見的緩存問題

開發(fā)
緩存有什么典型的問題,出現(xiàn)的原因是什么,又該如何解決呢?本文,來為你一一詳細(xì)介紹。

在面試過程中,面試官的桌子上擺放著很多高頻的面試題,能否順利回答決定了你面試通過的概率。其中緩存問題就是其中的一份,可以說掌握緩存問題及解決方法是面試前必須準(zhǔn)備的內(nèi)容。那么緩存有什么典型的問題,出現(xiàn)的原因是什么,又該如何解決呢?本文,來為你一一詳細(xì)介紹。

緩存問題有哪些?

緩存雖然能提升性能,但也會帶來一些問題。緩存問題有很多,其中經(jīng)典的緩存問題如下圖所示:

1. 緩存雪崩

問題描述:緩存服務(wù)宕機(jī),導(dǎo)致所有請求直接訪問數(shù)據(jù)庫,引發(fā)數(shù)據(jù)庫壓力激增甚至崩潰。

解決方法:

  • 集群化部署緩存(如Redis Cluster),實現(xiàn)高可用;
  • 使用熔斷降級機(jī)制,限制數(shù)據(jù)庫訪問量;
  • 讀寫分離;
  • 使用本地緩存;
  • 對緩存體系進(jìn)行實時監(jiān)控,當(dāng)請求訪問的慢速比超過閥值時,及時報警,通過機(jī)器替換、服務(wù)替換進(jìn)行及時恢復(fù);也可以通過各種自動故障轉(zhuǎn)移策略,自動關(guān)閉異常接口、停止邊緣服務(wù)、停止部分非核心功能措施,確保在極端場景下,核心功能的正常運行。

2. 緩存失效

問題描述:大量緩存數(shù)據(jù)同時過期,導(dǎo)致所有請求直接訪問數(shù)據(jù)庫,引發(fā)數(shù)據(jù)庫壓力激增甚至崩潰。

解決方法:設(shè)置隨機(jī)過期時間,避免同時失效。使用公式:過期時間 = base 時間 + 隨機(jī)時間。

3. 緩存穿透

問題描述:頻繁查詢不存在的數(shù)據(jù)(如惡意攻擊),緩存和數(shù)據(jù)庫均無法命中,導(dǎo)致無效請求穿透到數(shù)據(jù)庫。

解決方法:

  • 布隆過濾器(Bloom Filter): 構(gòu)建一個 BloomFilter 緩存過濾器,記錄全量數(shù)據(jù),這樣訪問數(shù)據(jù)時,可以直接通過 BloomFilter 判斷這個 key 是否存在,如果不存在直接返回即可,根本無需查緩存和 DB。但是BloomFilter 要緩存全量的 key,這就要求全量的 key 數(shù)量不大,10億條數(shù)據(jù)以內(nèi)最佳,因為 10億 條數(shù)據(jù)大概要占用 1.2GB 的內(nèi)存。也可以用 BloomFilter 緩存非法 key,每次發(fā)現(xiàn)一個 key 是不存在的非法 key,就記錄到 BloomFilter 中,這種記錄方案,會導(dǎo)致 BloomFilter 存儲的 key 持續(xù)高速增長,為了避免記錄 key 太多而導(dǎo)致誤判率增大,需要定期清零處理;
  • 緩存空值(Null Object): 為不存在的 Key 設(shè)置短時間緩存,避免重復(fù)查詢數(shù)據(jù)庫。

4. 緩存擊穿

問題描述:某個熱點Key突然過期,大量并發(fā)請求直接訪問數(shù)據(jù)庫,導(dǎo)致瞬時壓力過大。

解決方法:

  • 永久緩存: 針對基本不會發(fā)生更新的場景,可以把 key 設(shè)置為永不過期,讓 key 常駐緩存;定期緩存:針對需要頻繁更新的場景,可以使用額外的補(bǔ)償程序來定時刷新緩存或者延長 key 的實效時間;
  • 分布式鎖: 針對偶爾需要更新的場景,可以對請求代碼使用分布式互斥鎖,使得少部分直接請求數(shù)據(jù)庫后更新緩存,而剩余的其他請求直接使用新緩存即可,或者采用本地互斥鎖保證僅有少量請求能夠更新緩存,其余請求訪問新緩存。

5. 緩存與數(shù)據(jù)庫一致性

問題描述:緩存與數(shù)據(jù)庫數(shù)據(jù)不一致,常見于更新操作時,比如更新 DB 后,寫緩存失敗,從而導(dǎo)致緩存中存的是老數(shù)據(jù)。

解決方式:

  • 刪除 Key: 寫入/更新的時候,先刪除緩存中的 Key,再更新數(shù)據(jù)庫;
  • 訂閱數(shù)據(jù)庫Binlog: 通過監(jiān)聽數(shù)據(jù)庫變更同步更新緩存(如Canal工具);
  • 最終一致性容忍: 根據(jù)業(yè)務(wù)場景接受短暫不一致。

6. 緩存預(yù)熱

問題描述:系統(tǒng)啟動時緩存為空,大量請求直接訪問數(shù)據(jù)庫導(dǎo)致冷啟動壓力。

解決方式:提前加載熱點數(shù)據(jù)到緩存(如統(tǒng)計分析高頻訪問的Key)。

7. 緩存淘汰策略

問題描述:緩存空間有限時,如何選擇淘汰哪些數(shù)據(jù)以騰出空間。

解決方式:

  • LRU(Least Recently Used): 淘汰最近最少使用的數(shù)據(jù);
  • LFU(Least Frequently Used): 淘汰訪問頻率最低的數(shù)據(jù);
  • TTL(Time To Live):基于過期時間淘汰。

8. 緩存污染

問題描述:緩存中存儲了低頻訪問的數(shù)據(jù),擠占了熱點數(shù)據(jù)的空間。

解決方式:

優(yōu)化緩存淘汰策略(如結(jié)合LRU和LFU);

定期清理非熱點數(shù)據(jù)。

9. 熱點 Key

問題描述:某些業(yè)務(wù)在某一瞬間或某一時間段內(nèi)可能會成為熱點業(yè)務(wù),熱點業(yè)務(wù)的數(shù)據(jù)可能會產(chǎn)生熱點key,比如微博上熱榜數(shù)據(jù)。

解決方式:

  • 找到對應(yīng)的熱點 key,將這些熱 key 進(jìn)行分散處理,比如一個熱 key 名字叫 hotkey,可以被分散為 hotkey#1、hotkey#2、hotkey#3,……h(huán)otkey#n,這 n 個 key 分散存在多個緩存節(jié)點,然后 client 端請求時,隨機(jī)訪問其中某個后綴的 hotkey,這樣就可以把熱 key 的請求打散,避免一個緩存節(jié)點過載;
  • 也可以 key 的名字不變,對緩存提前進(jìn)行多副本+多級結(jié)合的緩存架構(gòu)設(shè)計。再次,如果熱 key 較多,還可以通過監(jiān)控體系對緩存的 SLA 實時監(jiān)控,通過快速擴(kuò)容來減少熱 key 的沖擊。最后,業(yè)務(wù)端還可以使用本地緩存,將這些熱 key 記錄在本地緩存,來減少對遠(yuǎn)程緩存的沖擊。

10. 大 Key

問題描述:緩存中某些 key 的 value 的值過大,導(dǎo)致寫操作超時、加載速度緩慢等問題。

解決方式:

  • 如果數(shù)據(jù)存在 MC 中,可以設(shè)計一個緩存閥值,當(dāng) value 的長度超過閥值,則對內(nèi)容啟用壓縮,讓 KV 盡量保持小的 size,其次評估大 key 所占的比例,在 Mc 啟動之初,就立即預(yù)寫足夠數(shù)據(jù)的大 key,讓 MC 預(yù)先分配足夠多的 trunk size 較大的 slab。確保后面系統(tǒng)運行時,大 key 有足夠的空間來進(jìn)行緩存;
  • 如果數(shù)據(jù)存在 Redis 中,比如業(yè)務(wù)數(shù)據(jù)存 set 格式,大 key 對應(yīng)的 set 結(jié)構(gòu)有幾千幾萬個元素,這種寫入 Redis 時會消耗很長的時間,導(dǎo)致 Redis 卡頓。此時,可以擴(kuò)展新的數(shù)據(jù)結(jié)構(gòu),同時讓 client 在這些大 key 寫緩存之前,進(jìn)行序列化構(gòu)建,然后通過 restore 一次性寫入;
  • 將大 key 分拆為多個 key,盡量減少大 key 的存在。同時由于大 key 一旦穿透到 DB,加載耗時很大,所以可以對這些大 key 進(jìn)行特殊照顧,比如設(shè)置較長的過期時間,比如緩存內(nèi)部在淘汰 key 時,同等條件下,盡量不淘汰這些大 key。
責(zé)任編輯:趙寧寧 來源: 令飛編程
相關(guān)推薦

2022-08-29 07:31:48

HashMap線程擴(kuò)容

2023-11-21 09:41:00

緩存策略存儲

2020-03-03 17:47:07

UDP TCP面試題

2020-08-27 07:34:50

Zookeeper數(shù)據(jù)結(jié)構(gòu)

2014-07-28 14:00:40

linux面試題

2020-05-14 13:39:19

Java 垃圾回收機(jī)制

2024-02-01 11:57:31

this指針代碼C++

2009-06-16 14:03:16

Hibernate面試Hibernate面試

2023-11-20 08:18:49

Netty服務(wù)器

2023-04-26 15:43:24

容器編排容器編排工具

2021-08-04 06:56:49

HTTP緩存前端

2018-05-13 16:06:55

數(shù)據(jù)科學(xué)機(jī)器學(xué)習(xí)面試

2018-09-28 14:06:25

前端緩存后端

2023-12-26 07:33:45

Redis持久化COW

2022-10-28 13:48:24

Notebook數(shù)據(jù)開發(fā)機(jī)器學(xué)習(xí)

2025-05-23 09:38:54

JWT開發(fā)Go

2022-02-25 07:34:36

MQTT協(xié)議RabbitMQ

2022-06-08 08:11:56

威脅建模網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2022-11-11 19:09:13

架構(gòu)

2023-11-06 08:16:19

APM系統(tǒng)運維
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲成a人片综合在线| 国产麻豆精品在线| 日韩精品综合一本久道在线视频| 波多野结衣50连登视频| 成人羞羞在线观看网站| 国产视频综合在线| 天堂av在线播放| 久久韩剧网电视剧| 久久精品色图| 狠狠色丁香久久婷婷综| 91精品福利在线一区二区三区| 91热福利电影| 国产精品久久久久久久龚玥菲| 欧美日韩导航| 久久电影在线| 中文字幕一区二区三区电影| 99久久国产宗和精品1上映 | 欧美视频综合| 欧美不卡在线观看| 国产suv精品一区二区6| 亚洲成人免费av| 91久久嫩草影院一区二区| 伊人网站在线| 国产一级久久| 欧美高清中文字幕| 成人av在线一区二区三区| 精品www久久久久奶水| 亚洲国产精品成人久久综合一区| 久久久久久久久网| 成人观看视频| 国产一区二区影院| 国产91精品高潮白浆喷水| 婷婷亚洲天堂| 99精品国自产在线| 国产在线视视频有精品| 亚洲精选中文字幕| 午夜不卡视频| 婷婷一区二区三区| 四虎影视在线播放| 99久久精品一区二区| 五月天色婷婷综合| 丝袜诱惑亚洲看片| 成人看片人aa| 中文产幕区在线观看| 久久精品水蜜桃av综合天堂| 亚洲国产一二三精品无码| 国产一区二区三区黄视频 | 一个色综合网站| 99不卡视频| 一区二区三区欧美日韩| 五月天丁香婷| 五月天国产精品| 成人p站proumb入口| 欧美日韩在线不卡| а√天堂在线官网| 亚洲精品久久久久久下一站| 欧美日韩美女| 成年无码av片在线| 亚洲激情播播| 亚洲一区二区中文字幕| 韩国亚洲精品| 一区二区不卡视频| av网站免费线看精品| 亚洲成人天堂网| 亚洲国产精品久久人人爱蜜臀| 加勒比一区二区三区在线| 欧美日韩国产天堂| 精品国产第一福利网站| 日韩在线高清| 国产精品久久久久免费a∨ | 日韩免费毛片视频| 羞羞答答国产精品www一本| 日韩精品一区二区三区在线播放 | 日韩第一区第二区| 中文字幕亚洲一区| 希岛爱理一区二区三区| 国产噜噜噜噜噜久久久久久久久| 欧美国产一级| 一区二区不卡视频| 国产精品美女久久久久高潮| 日韩美女一级视频| 岛国在线视频免费看| 国产精品国产自产拍在线| 色视频在线观看免费| 亚洲精品视频在线播放| 成人av资源网址| 国产伦视频一区二区三区| 国产精品伊人色| 欧美r片在线| 精品播放一区二区| 久久aimee| 神马一区二区影院| 国产精品视频yy9299一区| 中文字幕在线视频区| 日韩有码在线观看| 中文字幕一区二区av| 91成人综合网| 色天使久久综合网天天| 99久久亚洲国产日韩美女 | 麻豆精品网站| 少妇黄色一级片| 日韩一级免费一区| 偷拍自拍一区| 国产成人精品免费看在线播放| 一区二区三区四区亚洲| 国产激情视频在线看| 国产成人精品一区二区| 久99久精品视频免费观看| av毛片免费| 亚洲人成网在线播放| 亚洲免费二区| 中文字幕在线观看第三页| 日韩一区二区在线播放| 偷窥自拍亚洲色图精选| 超碰在线免费观看97| 亚洲国产中文字幕| 日韩高清在线| 久久久久高清| 亚洲欧美日韩国产另类专区| 福利在线导航136| 成人疯狂猛交xxx| 91麻豆成人久久精品二区三区| av黄色在线| 国产精品美女免费看| 久久综合久久综合久久| 天堂va在线| 97在线资源站| 亚洲精品成人少妇| 一区二区三区视频免费视频观看网站| 中国一区二区三区| 欧美精品久久99久久在免费线 | 天堂av资源在线观看| 国产精品av电影| 成人综合激情网| 色呦呦在线视频| 成人三级在线| 午夜精品久久久久久久久| 亚洲国产aⅴ精品一区二区| 国产卡一卡二在线| 欧美成人性福生活免费看| 欧美成人69av| 最新精品视频在线| 日韩av电影在线播放| 国产精品区一区二区三| 日韩精选视频| 黑人巨大国产9丨视频| 精品少妇一区二区三区日产乱码| 在线免费观看日本欧美爱情大片| 女人裸体免费网站| 日韩免费精品视频| 亚洲免费资源在线播放| 国产精品麻豆成人av电影艾秋| 亚洲一二三区精品| 精品国产乱码久久久久久夜甘婷婷| 亚洲精一区二区三区| 亚洲成人套图| 亚洲free性xxxx护士白浆| 午夜伦欧美伦电影理论片| 欧美理论视频| 美臀av在线| 亚洲a级在线观看| 欧美性猛交xxxxxx富婆| 亚洲电影av| 国产视频中文字幕在线观看| 国产一区二区三区奇米久涩 | 欧洲精品99毛片免费高清观看 | 91视频精品在这里| 精品123区| 成年人视频观看| 欧美精品video| 亚洲美女淫视频| 性欧美69xoxoxoxo| 日本在线免费播放| 亚洲国产另类久久久精品极度| 亚洲欧美国产va在线影院| 粉嫩13p一区二区三区| 欧美亚洲人成在线| 日本熟妇人妻中出| 欧洲永久精品大片ww免费漫画| 香蕉成人啪国产精品视频综合网| 一区二区日韩欧美| av香蕉成人| 国产色一区二区三区| 欧美激情视频在线观看| 亚洲欧洲av一区二区三区久久| 国产剧情一区| 深夜福利免费在线观看| 日韩成人av电影在线| 中文字幕亚洲综合久久| 国产精品污www在线观看| 不卡在线一区| 国产精品久久麻豆| 青青青免费在线| 国产成人一区三区| 678五月天丁香亚洲综合网| 国产成人在线色| 精品国精品国产自在久国产应用| 日本在线免费中文字幕| 自拍日韩亚洲一区在线| 国产精品日韩在线观看|