在開(kāi)發(fā)過(guò)程中遇到了很多多線程問(wèn)題,利用緩存記錄線程的執(zhí)行狀態(tài)辆童,將完成狀態(tài)以進(jìn)度條的形式在前端顯示隧期。記錄學(xué)習(xí)下高并發(fā)下緩存可能會(huì)出現(xiàn)的問(wèn)題飒责,希望以后開(kāi)發(fā)過(guò)程中遇到問(wèn)題能更效率地處理。
一厌秒、緩存一致性問(wèn)題
當(dāng)數(shù)據(jù)時(shí)效性要求很高時(shí)读拆,需要保證緩存中的數(shù)據(jù)與數(shù)據(jù)庫(kù)中的保持一致,而且需要保證緩存節(jié)點(diǎn)和副本中的數(shù)據(jù)也保持一致鸵闪,不能出現(xiàn)差異現(xiàn)象檐晕。
這就比較依賴(lài)緩存的過(guò)期和更新策略。一般會(huì)在數(shù)據(jù)發(fā)生更改的時(shí),主動(dòng)更新緩存中的數(shù)據(jù)或者移除對(duì)應(yīng)的緩存辟灰。
二个榕、緩存并發(fā)問(wèn)題
緩存“雪崩”。緩存過(guò)期后將嘗試從后端數(shù)據(jù)庫(kù)獲取數(shù)據(jù)芥喇,這是一個(gè)看似合理的流程西采。但是,在高并發(fā)場(chǎng)景下继控,有可能多個(gè)請(qǐng)求并發(fā)的去從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)械馆,對(duì)后端數(shù)據(jù)庫(kù)造成極大的沖擊,導(dǎo)致 “雪崩”現(xiàn)象武通。
三霹崎、緩存穿透問(wèn)題
在高并發(fā)場(chǎng)景下,如果某一個(gè)key被高并發(fā)訪問(wèn)冶忱,沒(méi)有被命中尾菇,出于對(duì)容錯(cuò)性考慮,會(huì)嘗試去從后端數(shù)據(jù)庫(kù)中獲取囚枪,從而導(dǎo)致了大量請(qǐng)求達(dá)到數(shù)據(jù)庫(kù)派诬,而當(dāng)該key對(duì)應(yīng)的數(shù)據(jù)本身就是空的情況下,這就導(dǎo)致數(shù)據(jù)庫(kù)中并發(fā)的去執(zhí)行了很多不必要的查詢(xún)操作链沼,從而導(dǎo)致巨大沖擊和壓力默赂。
四、緩存無(wú)底洞問(wèn)題
數(shù)據(jù)庫(kù)多節(jié)點(diǎn)的情況下發(fā)生的效率急劇下降的問(wèn)題
參考文章
https://mp.weixin.qq.com/s/lvdEPGbaGmk8QIIQWDrdyA