http://blog.csdn.net/mgoann/archive/2009/04/17/4086534.aspx
Ehcache關鍵類
簡介
Ehcache中的CacheManager是用來管理Cache的。而Cache中包含元素Element,而Element實質上就是一個索引值對。Cache在物理方面的實現有記憶體實現和磁碟實現。
CacheManager
CacheManager包含Cache,而Cache反過來構成了CacheManager的要素。
· CacheManager建立模式:CacheManger建立模式包含singleton和instance倆種。
· Simgleton Mode
從字面可理解為單例模式,這種模式只允許建立一個CacheManger執行個體。
· Instance Mode
那這種模式從字面上理解也應該是執行個體化模式了。從Ehcache-1.2以來,CacheManager有多種靜態建立方法。這樣我們就可以同時建立多個複雜的不同配置的CacheManager。
如果只是用記憶體來儲存Cache,那麼沒有什麼需要你特別考慮的。如果是用磁碟來緩衝Cache的話,你就必須為CacheManager指定的磁碟路徑。當一個新的CacheManager被建立時,必須要確保磁碟路徑沒有被別的CacheManager使用。如果重複使用磁碟路徑,這個時候就會拋出CacheException。如果CacheManger配置成叢集模式的,還要注意連接埠的指定。
· Singletion和Instance混用
如果一個應用程式通過構造方法建立了一個CacheManager的執行個體,也調用了靜態建立方法,這個時候會,沒調用一次靜態建立方法就會返回一個CacheManager的Singleton執行個體,所有的這些執行個體將會共存。
Ehcache
Ehcache是一個介面,所有的Cache都實現了Ehcache。每個Cache都有自己的名字和特定的屬性以及包含著Element元素。
Ehcache中的Cache代表一塊特定的快取區域或是緩衝系統。
Cache的Element元素可以儲存到MemoryStore(記憶體)中,也可以寫到DiskStore(磁碟)中。
Element
每一個Element對應一個緩衝的原子實體。它有key、value以及訪問記錄屬性。Element可以被put進Cache也可以remove出Cache。通過配置Cache可定製Element的失效以及移除策略。
在Ehcache-1.2 API中要求儲存物件要可序列化。沒有序列化的對象不可以儲存到DiskStore(磁碟)中,也不能被拷貝。
在Element類中注意到有倆個方法getOjbectValue和getKeyValue,這個方法都是從緩衝中取得Element元素的方法,唯一區別就是一個是用來取得序列化對象,另外一個是不可序列化對象。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/mgoann/archive/2009/04/17/4086534.aspx