无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

直播源碼開發(fā),面對常見問題的不同解決方案

2023-07-05 15:49 作者:yunbaoKJ  | 我要投稿


緩存穿透、緩存擊穿、緩存雪崩,這些都是直播源碼開發(fā)在使用緩存時遇到的問題,根據(jù)直播源碼開發(fā)的服務(wù)行業(yè)不同,面對這些緩存問題時采用的解決方案也不一樣,具體方案我們來看一下。

?


一、緩存穿透

緩存穿透指的是緩存和數(shù)據(jù)庫中都沒有用戶想要的數(shù)據(jù),而用戶不斷發(fā)起請求,導(dǎo)致數(shù)據(jù)庫壓力越來越大,針對這個問題可用的方案有三種:驗證攔截、緩存空數(shù)據(jù)、使用布隆過濾器。

1、驗證攔截,接口層進(jìn)行校驗,如鑒定用戶權(quán)限,對ID之類的字段做基礎(chǔ)的校驗。優(yōu)勢在于,在發(fā)布內(nèi)容后需要維護(hù)最大id信息,實現(xiàn)也相對較簡單;缺點(diǎn)在于,僅滿足直播源碼開發(fā)關(guān)鍵值比如id信息連續(xù)或數(shù)據(jù)不稀疏的場景,維護(hù)最大id時,需要原子性以保持并發(fā)和遞增等一致性。

2、緩存空數(shù)據(jù),當(dāng)數(shù)據(jù)庫查詢到的數(shù)據(jù)為空時,也將這條數(shù)據(jù)進(jìn)行緩存,但緩存的有效性設(shè)置的要短,避免影響正常數(shù)據(jù)緩存。優(yōu)點(diǎn)在于,該方案可以保證對于數(shù)據(jù)庫的請求是一次性的,可以攔截直播源碼開發(fā)后續(xù)的重復(fù)請求,實現(xiàn)簡單、直接;如果提供的查詢值不重復(fù),則無法有效緩存。

?


二、緩存擊穿

緩存擊穿是直播源碼開發(fā)當(dāng)前熱點(diǎn)數(shù)據(jù)存儲到期時,多個線程同時并發(fā)訪問熱點(diǎn)數(shù)據(jù),因為緩存剛過期,所以并發(fā)請求都會到數(shù)據(jù)庫中查詢數(shù)據(jù),主要是由于數(shù)據(jù)訪問用戶并發(fā)高,由于緩存實效等原因,并發(fā)請求同時發(fā)起數(shù)據(jù)庫讀取操作。

解決方案:設(shè)置熱點(diǎn)數(shù)據(jù)永不過期;應(yīng)用級別鎖控制并發(fā);使用分布式鎖。

?


1、設(shè)置熱點(diǎn)數(shù)據(jù)永不過期,好處在于簡單,壞處在于需要task等其他方式維護(hù)數(shù)據(jù)更新。

2、應(yīng)用級別鎖控制并發(fā),僅保留1個請求去查詢并寫入緩存,其他請求重試取緩存讀取。好處在于可以減少同時發(fā)起請求的并發(fā)連接,直播源碼開發(fā)應(yīng)用級別支持,實現(xiàn)相對簡單;壞處在于未獲取到鎖的線程會阻塞,不適合緩存寫入等邏輯復(fù)雜。

聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任


直播源碼開發(fā),面對常見問題的不同解決方案的評論 (共 條)

分享到微博請遵守國家法律
城固县| 临猗县| 吉水县| 塘沽区| 临夏县| 邵阳市| 平顶山市| 湘阴县| 四会市| 铜梁县| 石渠县| 阿合奇县| 玉环县| 宁蒗| 南宁市| 永和县| 七台河市| 云林县| 阳信县| 伽师县| 南城县| 黄陵县| 枞阳县| 凤凰县| 广丰县| 福鼎市| 青河县| 泰宁县| 英德市| 富民县| 阿瓦提县| 麻城市| 始兴县| 安新县| 土默特右旗| 博乐市| 定州市| 肃南| 璧山县| 台州市| 武安市|