後端快取系統設計要點

2021-10-03 19:12:16 字數 775 閱讀 5288

選擇合適的快取的分類:

1.本地快取:本地呼叫,不支援分布式,呼叫較快。適合一些靜態資料,比如配置資料、遊戲商店道具等。

2.分布式快取:遠端呼叫,支援分布式,呼叫較慢。適合一些全域性資料,比如排行榜,世界訊息等。

快取同步方式:

cache aside:讀取資料先檢查快取中是否有該資料,若有則返回資料,若沒有則去訪問資料庫,返回時新增到快取中。更新資料同步更新資料庫和快取中的資料,或只更新資料庫,等下次讀取時更新到快取中。

read/write through:將快取和資料庫看做乙個整體,業務**只需要呼叫給定的介面,具體功能由整個模組完成。

write back:更新資料先更新快取,再以非同步方式更新資料庫,或者定時將快取中資料重新整理到資料庫中。

優缺點比較:

cache aside:實現簡單,適用於輕量級應用開發,對業務**有侵入。

read/write through:實現較複雜,適用於經常應用快取的應用,業務**只需要呼叫介面而不需要關係內部實現,方便維護。

write back:非同步方式會導致快取資料庫內容不一致,有可能造成一定程度的資料丟失,適用於對資料一致性要求不高的應用,可                         以大大提公升效能。

快取命中率:衡量快取效率的標準,可以通過仔細分析歷史資料來確定該做哪些資料的快取。

過期策略:保證儲存空間的可用性,防止過多無用快取佔據空間,較常用的是lru演算法。

可擴充套件系統設計的要點

根據以往經驗和的總結 縱向擴充套件 硬體方面可以更換更強勁的伺服器,增加 cpu 記憶體,使用高速磁碟。軟體方面可以對現有 的優化,重構。使用 non blocking 非阻塞 io 模式,或者非同步 io 模式,使用執行緒模式或者改用 事件驅動形模式。目標是提高單機 qps 連線數,來支援更多的連...

後端http快取原理

通過internet獲取資源既緩慢,成本又高。為此,http協議裡包含了控制快取的部分,以使http客戶端可以快取和重用以前獲取的資源,從 而優化效能,提公升體驗。雖然http中關於快取控制的部分,隨著協議演進,有一些變化。但我覺著,作為後端程式設計師,在開發web服務時,只需要關注請求頭 if n...

後端http快取原理

通過internet獲取資源既緩慢,成本又高。為此,http協議裡包含了控制快取的部分,以使http客戶端可以快取和重用以前獲取的資源,從 而優化效能,提公升體驗。雖然http中關於快取控制的部分,隨著協議演進,有一些變化。但我覺著,作為後端程式設計師,在開發web服務時,只需要關注請求頭 if n...