緩存是分佈式系統中的重要組件,主要解決高併發,大數據場景下,熱點數據訪問的性能問題。提供高性能的數據快速訪問。php
此次主要是分享下本身以爲比較通用的一個緩存策略的架構方案,也是比較 容易理解的.歡迎吐槽.緩存
有更牛逼的也歡迎你們說下:服務器
緩存是分佈式系統中的重要組件,主要解決高併發,大數據場景下,熱點數據訪問的性能問題。提供高性能的數據快速訪問。架構
(1) 將數據寫入/讀取速度更快的存儲(設備);併發
(2) 將數據緩存到離應用最近的位置;異步
(3) 將數據緩存到離用戶最近的位置。分佈式
在分佈式系統中,緩存的應用很是普遍,從部署角度有如下幾個方面的緩存應用。高併發
(1) CDN緩存;性能
(2) 反向代理緩存;學習
(3) 分佈式Cache;
(4) 本地應用緩存;
經常使用中間件:Varnish,Ngnix,Squid,Memcache,Redis,Ehcache等;
緩存的內容:文件,數據,對象;
緩存的介質:CPU,內存(本地,分佈式),磁盤(本地,分佈式)
緩存設計須要解決如下幾個問題:
(1) 緩存什麼?
哪些數據須要緩存:1.熱點數據;2.靜態資源;
(2) 緩存的位置?
CDN,反向代理,分佈式緩存服務器,本機(內存,硬盤)
(3) 如何緩存的問題?
1.固定時間:好比指定緩存的時間是30分鐘;
2.相對時間:好比最近10分鐘內沒有訪問的數據;