1. 程式人生 > >Spring 聲明式緩存特點

Spring 聲明式緩存特點

spring 緩存

1.緩存意義

可擴展性,可靠性和高性能是現代J2EE應用程序的必備要求。不管客戶端類型如何,請求處理通常都涉及到對性能有負面影響的操作,比如從不同的數據源收集信息和執行復雜的計算。 緩存是提高企業應用程序性能的最重要的實踐之一。 每個應用程序都有自己的緩存要求,必須不斷調整以確保不會發生性能下降。尤其是分布式緩存系統,緩存服務的目標。大量遠程調用速度特別慢,會占用寶貴的網絡帶寬,引發性能問題。

2.緩存的基本準則

  • 通過添加緩存來減少遠程調用

  • 緩存只讀數據,如地區信息

  • 給定的一組參數值總是返回相同的信息,如果可以容忍陳舊數據,則可緩存動態數據。

  • 要緩存的數據量應該是可控的,否則最終會使用太多的內存

  • 跨集群緩存動態數據並同步每個節點中的數據是困難的

  • 應該避免緩存實時數據(如股市行情)和敏感數據

  • 緩存可以引入與安全和審計有關的問題??

2.聲明式緩存優點

聲明式緩存不涉及任何編程,因此它是一種更容易,更快速的應用和調整緩存服務的方式。

高速緩存服務的配置可以完全在Spring IoC容器中完成。

聲明式緩存特點:

  • 提供一個統一,更簡單,更易於使用的API

  • 提供聲明式緩存刷新以防止陳舊數據的存儲

  • 支持不同的聲明式配置策略

  • 可以很容易地擴展來支持額外的緩存提供程序


反之 編程式緩存

  • 代碼難以理解,核心功能難以看清

  • 代碼難以維護。對緩存提供者的API被嵌入並遍布在應用程序中

  • 代碼很難測試

  • 代碼很難重用


所以編程式風格帶來的優勢:

  • 更清晰地分離責任

  • 更高的模塊化

  • 設計決定的晚期約束,開發人員可以推遲做出有關緩存實現和調優的決策。



分布式緩存流程

技術分享技術分享


緩存啟動並運行後,您將查找需要將緩存對象存儲在文件系統中的情況,或者在群集中的節點中緩存緩存中的更改。緩存提供者能夠借助Java序列化來執行這些功能,這意味著要存儲在緩存中的對象應該實現接口java.io.Serializable。



本文出自 “簡單” 博客,請務必保留此出處http://dba10g.blog.51cto.com/764602/1979106

Spring 聲明式緩存特點