无码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ā),面對常見問題的不同解決方案的評論 (共 條)

分享到微博請遵守國家法律
昭觉县| 陕西省| 宜良县| 申扎县| 资兴市| 平阴县| 如东县| 铁岭市| 嘉义县| 绥阳县| 安吉县| 湾仔区| 武穴市| 宿迁市| 隆化县| 崇州市| 泊头市| 山西省| 桃源县| 门头沟区| 石门县| 泸州市| 页游| 茌平县| 通渭县| 江阴市| 平果县| 竹北市| 临沂市| 临泽县| 姜堰市| 红安县| 长葛市| 彭山县| 会宁县| 龙井市| 京山县| 钟山县| 开远市| 阳谷县| 故城县|