在直播平臺源碼的服務(wù)端,緩存的任務(wù)是將數(shù)據(jù)庫的數(shù)據(jù)加載到內(nèi)存中,之后對該數(shù)據(jù)的訪問都會在內(nèi)存中完成,從而減少對數(shù)據(jù)庫的訪問,解決直播平臺源碼高并發(fā)場景中數(shù)據(jù)庫容易成為性能瓶頸的問題,同時還提高了數(shù)據(jù)的訪問速度和程序性能。
緩存的區(qū)分上,可以根據(jù)緩存是否與應(yīng)用程序?qū)儆谕贿M程分為本地緩存和分布式緩存兩種,本地緩存是在直播平臺源碼的同一進程內(nèi)的內(nèi)存空間中緩存數(shù)據(jù),數(shù)據(jù)讀寫都是在同一進程內(nèi)完成的。而分布式緩存是一個獨立部署的進程,并且一般是與應(yīng)用進程部署在不同直播平臺源碼機器中的。
一、本地緩存的優(yōu)缺點
1、訪問速度快,但無法進行大數(shù)據(jù)存儲,同時又不能在跨地區(qū)傳輸上表現(xiàn)出太好的效果,由于數(shù)據(jù)不需要跨網(wǎng)絡(luò)傳輸,所以性能很好,但也占用了直播平臺源碼不少的內(nèi)存空間
2、本地緩存只支持被該應(yīng)用進程訪問,在應(yīng)用進程的集群部署中,如果對應(yīng)的數(shù)據(jù)庫數(shù)據(jù)存在數(shù)據(jù)更新,需要同步更新不同部署節(jié)點的本地緩存數(shù)據(jù)來保證數(shù)據(jù)一致性
3、數(shù)據(jù)并不是一直存在,而是受限于設(shè)備的開關(guān),比如用戶退出APP,那緩存的內(nèi)容也隨之消失
4、如果數(shù)據(jù)在集群的不同部署節(jié)點需要共享和保持一致,則需要使用分布式緩存來統(tǒng)一存儲
二、分布式緩存的優(yōu)缺點
1、高并發(fā)場景下表現(xiàn)力好,同時不會受到應(yīng)用重啟的影響,分布式緩存是獨立部署的進程,擁有自己獨立的內(nèi)存空間,對于數(shù)據(jù)量而言,不需要占用直播平臺源碼的內(nèi)存空間
2、數(shù)據(jù)集中存儲,保證數(shù)據(jù)的一致性,不存在本地緩存中數(shù)據(jù)更新問題
3、數(shù)據(jù)讀寫分離,高性能高可用,可以實現(xiàn)讀寫分離,可以解決高并發(fā)場景中的數(shù)據(jù)讀寫性能問題,及時某個節(jié)點宕機也能保證直播平臺源碼的可用性
4、但是分布式緩存是通過網(wǎng)絡(luò)傳輸?shù)模阅苌鲜堑赜虮镜鼐彺娴?,如果遇到網(wǎng)絡(luò)波動等問題,傳輸就會收到影響,存在不穩(wěn)定因素
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責任
聯(lián)系客服