天天看點

Spring 聲明式緩存特點

1.緩存意義

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

2.緩存的基本準則

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

緩存隻讀資料,如地區資訊

給定的一組參數值總是傳回相同的資訊,如果可以容忍陳舊資料,則可緩存動态資料。

要緩存的資料量應該是可控的,否則最終會使用太多的記憶體

跨叢集緩存動态資料并同步每個節點中的資料是困難的

應該避免緩存實時資料(如股市行情)和敏感資料

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

2.聲明式緩存優點

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

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

聲明式緩存特點:

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

提供聲明式緩存重新整理以防止陳舊資料的存儲

支援不同的聲明式配置政策

可以很容易地擴充來支援額外的緩存提供程式

反之 程式設計式緩存

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

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

代碼很難測試

代碼很難重用

是以程式設計式風格帶來的優勢:

更清晰地分離責任

更高的子產品化

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

分布式緩存流程

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

本文轉自 randy_shandong 51CTO部落格,原文連結:http://blog.51cto.com/dba10g/1979106,如需轉載請自行聯系原作者

繼續閱讀