直播系統(tǒng)搭建,緩存或許是直播平臺唯一還在依賴的助手
直播系統(tǒng)搭建的發(fā)展曾帶動了很多行業(yè)同步發(fā)展,從三方SDK到服務(wù)器,到美顏,到CDN等,可以說周邊行業(yè)都跟著直播系統(tǒng)搭建吃到了福利,但隨著內(nèi)卷的逐漸嚴(yán)重,直播系統(tǒng)也開始脫離這些周邊行業(yè)自己進行一條龍服務(wù),而在發(fā)展之中,緩存卻是那個直播從未拋棄的對象。
?

一、緩存是什么
緩存是把訪問量較高的熱點數(shù)據(jù)從傳統(tǒng)關(guān)系型數(shù)據(jù)庫中加載到內(nèi)存中,當(dāng)用戶再次訪問熱點數(shù)據(jù)時,是從內(nèi)存中加載,減少了對數(shù)據(jù)庫的訪問量,解決了高并發(fā)場景下容易造成數(shù)據(jù)庫宕機的問題。
?

二、緩存解決的問題
1、高性能問題,直播系統(tǒng)搭建在用戶第一次訪問時,由于沒有緩存數(shù)據(jù),那么需要從數(shù)據(jù)庫中獲取數(shù)據(jù),讀取速度會比較慢。拿到數(shù)據(jù)后將數(shù)據(jù)存儲在緩存中,用戶第二次訪問數(shù)據(jù)時,可以從緩存中直接獲取,速度就會變快很多。
2、高并發(fā)場景下的表現(xiàn),直播系統(tǒng)搭建操作系統(tǒng)要承受的并發(fā)訪問量是遠大于訪問數(shù)據(jù)庫的,所以說將數(shù)據(jù)庫中訪問量高的數(shù)據(jù)存儲到緩存中,用戶請求的時候直接訪問數(shù)據(jù)庫,提高并發(fā)能力。
?

三、緩存分類
緩存分三種:本地緩存、分布式緩存、多級緩存。根據(jù)緩存和直播系統(tǒng)搭建是否屬于同一個進程,將緩存分為本地緩存和分布式緩存。
我們主要說一下多級緩存,它是根據(jù)本地緩存和分布式緩存的優(yōu)缺點指定的。
多級緩存將本地緩存作為直播系統(tǒng)搭建的一級緩存,分布式緩存做為二級緩存,當(dāng)用戶獲取數(shù)據(jù)時,先從一級緩存中獲取,如果一級有數(shù)據(jù)則返回,否則從二級緩存中獲取數(shù)據(jù),如果二級緩存中有數(shù)據(jù),那么更新一級緩存,如果沒有則去數(shù)據(jù)庫查詢數(shù)據(jù),然后更新。
不過需要注意的是,在直播系統(tǒng)搭建的集群部署中,如果數(shù)據(jù)庫的數(shù)據(jù)有更新情況,一級緩存的數(shù)據(jù)更新容易出現(xiàn)數(shù)據(jù)不一致的情況,因為是集群部署,多個部署節(jié)點實現(xiàn)以及緩存數(shù)據(jù)更新難度較大,不過可以借助redis來實現(xiàn)多個節(jié)點緩存數(shù)據(jù)一致性問題。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任