Ehcache关键类

 

简介

 

 

Ehcache中的CacheManager是用来管理Cache的。而Cache中包含元素Element,而Element实质上就是一个键值对。Cache在物理方面的实现有内存实现和磁盘实现。

Ehcache关键类_第1张图片

 

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元素的方法,唯一区别就是一个是用来取得序列化对象,另外一个是不可序列化对象。

 

你可能感兴趣的:(cache,集群,api,存储,磁盘,缓存系统)