直播軟件開發(fā),緩存內(nèi)容有效期設(shè)定多久比較好
緩存是直播軟件開發(fā)離不開的東西,平臺需要依靠緩存實(shí)現(xiàn)快速傳輸,但緩存并不是存在越久越好,需要緩存有效期的幫助,設(shè)置緩存有效期一方面可以節(jié)省直播軟件開發(fā)的空間,另一方面還能保證緩存內(nèi)容和直播軟件開發(fā)新內(nèi)容的一致性,確保用戶拿到的數(shù)據(jù)是最新的。
?

一、緩存過期策略
1、定時過期。每個設(shè)置過期時間的key都需要創(chuàng)建一個定時器,到期后確保能立即清除,該策略可以立即清除過期的數(shù)據(jù),對內(nèi)存很友好,但是會占用直播軟件開發(fā)大量的CPU資源去處理過期的數(shù)據(jù),進(jìn)而就影響到緩存的響應(yīng)時間和吞吐量
2、惰性過期。當(dāng)用戶訪問到key時才會判斷該key是否已經(jīng)過期,過期則清除,該策略可以最大化節(jié)省CPU資源,對內(nèi)容不友好,甚至在某些情況下會出現(xiàn)大量的過期key沒有訪問但也沒有被清除的情況,從而占用直播軟件開發(fā)大量內(nèi)存
3、定期過期。每隔一段時間就掃描一次數(shù)據(jù)庫中的key,清除其中已經(jīng)過期的key,屬于一個折中方案,通過調(diào)整掃描的時間間隔和每次掃描的耗時,可以確保CPU和內(nèi)存資源達(dá)到優(yōu)質(zhì)的平衡效果
?

二、緩存淘汰策略
1、LRU。根據(jù)數(shù)據(jù)的歷史訪問記錄進(jìn)行淘汰數(shù)據(jù),當(dāng)然會用戶來說這沒有什么也就是多一點(diǎn)緩存時等待的時間,但不一樣的是平臺需要考慮該數(shù)據(jù)是否真的需要淘汰,雖然這段時間沒有被訪問,不代表該內(nèi)容在之后不會被訪問
2、LFU。如果直播軟件開發(fā)的某個數(shù)據(jù)最近一段時間沒有被訪問,那之后訪問的幾率也很小。和上個策略一樣,直播平臺開發(fā)無法真正確定數(shù)據(jù)是不需要的
?

緩存時間的確定和直播平臺開發(fā)平時訪問用戶數(shù)的多少有關(guān),如果用戶數(shù)多,那緩存的設(shè)置很重要,緩存可以幫助平臺解決一部分訪問壓力,另一方面緩存還和平臺的更新頻率有關(guān),更新頻率高想要保證用戶得到最新內(nèi)容肯定要頻繁更新緩存,當(dāng)然這就看平臺的需求了。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任