【資料圖】
作者 | 金鵬,單位:中國移動智慧家庭運營中心
?Labs 導讀緩存是指可以進行高速數據交換的存儲器,它先于內存與CPU交換數據,因此速率很快。那么緩存的運行邏輯是什么,以及緩存有哪些方案,將是本文的介紹重點。
緩存(Cache)是將目標數據存儲到一個具備高度可訪問性的高速運行層的技術。它旨在快速讀取使用率較高的、不經常更新的數據,避免在存取之前的請求重復訪問源數據層,產生額外的I/O資源消耗,繼而提升業務的并發度。為了提升數據訪問的運行速率,緩存數據也要權衡資源容量、數據刷新頻率設置過期時間或設置合理的緩存淘汰策略。主流的緩存方案有CDN緩存、瀏覽器緩存、本地緩存、外部緩存等。
Part 01 CDN緩存CDN指的是內容分發網絡,將資源緩存在CDN節點上,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近去CDN緩存節點上獲取內容,降低網絡延遲,提高訪問速度。運用到此項緩存技術的業務場景有:前端項目中的HTML、CSS、JS等靜態文件、物聯網中下載固件包、異地多活架構中的資源請求等等。將這些文件部署或緩存在CDN節點上,提升資源訪問速度的同時又保證資源訪問的穩定性。
Part 02 瀏覽器緩存瀏覽器緩存是指瀏覽器與后端服務器通過HTTP協議下的請求-響應模式來通信時,第一次向服務器發送請求并拿到結果后,會根據響應報文中的緩存規則來實現緩存。比如HTTP/1.1協議下會根據Cache-Control實現強制緩存規則;會在強制緩存失效下根據請求中的緩存標識決定緩存規則。瀏覽器會話持也是一種緩存實現,目前主流的技術方案有Cookie機制、Session機制、Token機制等。
Part 03本地緩存本地緩存是指將響應數據緩存在服務器的應用進程內存空間里,減少查詢持久化層的I/O消耗。優點是數據不需要跨網絡傳輸,讀取性能更好,支持的QPS更高;缺點是會占用應用進程的內存空間,故不能進行大數據量的數據存儲,而且當所在的應用進程重啟時,本地緩存的數據會丟失。在Andlink云平臺項目中落地的本地緩存解決方案Caffeine,它的依賴包如下:
與本地緩存相對應的就是外部緩存或分布式緩存,它獨立于應用進程部署,并可以設計成集群模式來保證數據讀寫分離、高性能、高可用。Andlink云平臺項目中落地的分布式緩存是基于Spring Boot Cache框架整合Redis集群的方案,該方案可以很好的解決數據丟失、業務并發能力、故障恢復和動態存儲擴容等常見業務痛點。結合業務的需求Redis提供了比較全的應對方案,比如單機模式、主從模式、集群模式或哨兵模式,其中哨兵模式可以實現健康檢測和自動恢復,是保障高并發業務穩定運作的首選模式。方案的依賴包如下:
當然,主流的緩存技術方案有很多,但總的方向是為了減少底層性能開銷、提高業務的高并發能力。目前Andlink云平臺支撐著億級的用戶量和千萬級的設備請求等,緩存技術在其中扮演著舉足輕重的角色。?
X 關閉
X 關閉
- 15G資費不大降!三大運營商誰提供的5G網速最快?中國信通院給出答案
- 2聯想拯救者Y70發布最新預告:售價2970元起 迄今最便宜的驍龍8+旗艦
- 3亞馬遜開始大規模推廣掌紋支付技術 顧客可使用“揮手付”結賬
- 4現代和起亞上半年出口20萬輛新能源汽車同比增長30.6%
- 5如何讓居民5分鐘使用到各種設施?沙特“線性城市”來了
- 6AMD實現連續8個季度的增長 季度營收首次突破60億美元利潤更是翻倍
- 7轉轉集團發布2022年二季度手機行情報告:二手市場“飄香”
- 8充電寶100Wh等于多少毫安?鐵路旅客禁止、限制攜帶和托運物品目錄
- 9好消息!京東與騰訊續簽三年戰略合作協議 加強技術創新與供應鏈服務
- 10名創優品擬通過香港IPO全球發售4100萬股 全球發售所得款項有什么用處?