.net緩存的應用研究(讀篇)


目前,緩存主要有兩種技術:分布式緩存和進程級別的內容緩存。兩種緩沖具體的差異就不廢話了。

1.在技術上

數據庫降壓的最好方式就是緩存。在緩存的性能上,進程級別的內存緩存性能有明顯優於分布式緩存,內存緩存性能最好,需多加利用。如果要對他們的使用排序的話,建議是:內存緩存>分布式緩存>數據庫。

2.業界趨勢

  

  “數據要盡可能的貼近用戶端,盡量高的從各類緩存中命中數據,而不是訪問數據庫”,這應該是個共識了。前端盡量通過CDN緩存抗壓,后端要在各層提供各種緩存。按照這種思路,可以總結出緩存的設計原則:

  

  靜態化:數據盡量以目標展現的格式存儲,而不是存儲中間數據。減少數據格式化的時間消耗,用空間換時間。

  專用:數據靜態化后,可使用的范圍有限,應盡量貼近用戶的結構,降低使用后的格式化成本。

  隔離:封裝緩存數據的訪問,把緩存的控制權掌握在自己手中。

 3.緩存的使用原則

  • 進程緩存
    • 性能最高,優先考慮使用。

    • 對數據要求苛刻,變化頻率高、訪問頻率低的數據不能緩存。

    • 建議緩存訪問頻率高、變化頻率低的數據。

    • 配合緩存的時效性策略應用。

  •   分布式緩存
    • 性能好。在內存緩存不適用的情況下,推薦使用。
    • 建議作為緩存使用,而不是存儲。
    • 在數據變化頻率很高的情況下,可作為DB的寫入緩存
  •      緩存同步模式:盡在進程緩存
    • 增量同步:按照時間戳或者數據變化更新緩存
    • 全量同步:重新拉取所有的緩存數據。不建議采用此種模式,性能差,同步的數據量大。
  •   緩存同步時機
    • 每次查詢時同步:在做查詢時,檢驗數據的版本,然后進行緩存同步。
    • 增刪改時失效:在做數據的增刪改時,同步修改緩存。此種模式僅適用用分布式緩存,進程級別緩存不適用的。
    • 定時同步:在緩存的駐留端定時更新緩存。此種模式適用於對數據的實時性要求不高的場景。
  •   緩存時效性
    • 有時效性:緩存數據存在時效性,不管數據的版本有沒有變化,過期失效
    • 無時效性:只要數據的時間戳保持不變,緩存數據永久有效。

 

weiliang 2016-10-8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM