Ehcache是Java虚拟机级的缓存,其可以用于许多地方。如:被Hibernate用作二级缓存,Web页缓存、Web页片段缓存、Session同步等。
官方主页:http://ehcache.org/
主要测试类:
Cache事件监听器工厂类:
Cache事件监听器类:
xml配置文件:更改官方包中的样例文件ehcache.xml中的sampleCache3为如下形式:
输出结果:
2009-12-13 11:36:02 net.sf.ehcache.distribution.RMICacheManagerPeerListener <init>
警告: Explicitly setting the listener hostname to 'localhost' is not recommended. It will only work if all CacheManager peers are on the same machine.
=======================
sampleDistributedCache2
sampleCache2
sampleCache1
sample/DistributedCache3
sampleDistributedCache1
sampleCache3
=======================
sampleDistributedCache2
sampleCache2
sampleCache1
sample/DistributedCache3
sampleCache3
=======================
sampleDistributedCache2
sampleCache2
Test1
sampleCache1
sample/DistributedCache3
sampleCache3
key0=value0 has been added
key1=value1 has been added
key2=value2 has been added
key3=value3 has been added
key4=value4 has been added
key5=value5 has been added
key6=value6 has been added
key7=value7 has been added
key8=value8 has been added
key9=value9 has been added
key0=value0 has been evicted
key10=value10 has been added
key2=value2 has been evicted
key11=value11 has been added
key1=value1 has been evicted
key12=value12 has been added
key4=value4 has been evicted
key13=value13 has been added
key9=value9 has been evicted
key14=value14 has been added
key7=value7 has been evicted
key15=value15 has been added
key5=value5 has been evicted
key16=value16 has been added
key14=value14 has been evicted
key17=value17 has been added
key12=value12 has been evicted
key18=value18 has been added
key8=value8 has been evicted
key19=value19 has been added
NotFound
解释:
首先打印配置文件中的cache名
接着移除了名为“sampleDistributedCache1”的cache,再打印cache名
再添加"Test1"cache,再打印cache名
接着向sampleCache3插入值,因为这个注册了监听器,所以监听器的会输出相应信息
这里配置了maxElementsInMemory="10",overflowToDisk="false",表明最多只能存10个条目在内存中,并且不能使用磁盘,因此从10-19添加的条目,会将之前存储的条目从缓存中移除。
由于将CacheManager注册到了本地管理BeanServer,所以可以通过jdk的jconsole命令查看管理Bean,如图: