Ehcache是一套比较成熟的缓存解决方案,很多主流框架像Spring,Hibernate都对其有很好的支持。且 Ehcache是支持集群环境的,API也比较简单,上手比较容易。下面就介绍一下Ehcache主要功能的使用。
Ehcache默认的配置文件是ehcache.xml,内容如下:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd">
<!-- <diskStore path="c:\\mdcp_temp" />-->
<cacheManagerEventListenerFactory class="" properties="" />
<defaultCache>
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="600"
overflowToDisk="false"
</defaultCache>
<cache>
name="configCache"
maxElementsInMemory="1000"
maxElementsOnDisk="1000"
eternal="true"
timeToIdleSeconds="300"
timeToLiveSeconds="1000"
overflowToDisk="false"
< /cache>
</ehcache>
这里配置了一个名为configCache的缓存实例。参数说明如下:
name: 元素名称即缓存实例的名称。
maxElementsInMemory: 设定内存中保存对象的最大值。
overflowToDisk: 设置当内存中缓存到达maxElementsInMemory指定值时是否可以写到硬盘上。
eternal: 设置内存中的对象是否为永久驻留对象。如果是则无视timeToIdleSeconds和timeToLiveSeconds两个属性。
timeToIdleSeconds: 设置某个元素消亡前的停顿时间。指元素消亡之前,两次访问时间的最大时间间隔值。
timeToLiveSeconds: 设置某个元素消亡前的生存时间。指元素从构建到消亡的最大时间间隔。
注意:defaultCache不管用不用都是必须要配置的。
Java Code:
//初始化
CacheManager manager = new CacheManager(“src/config/ehcache.xml”);
//获取指定Cache对象
Cache configCache = manager.getCache(“configCache”);
//创建节点对象
Element element = new Element(“key1”,”value1”);
//保存节点到configCache
configCache.put(element);
//从configCache获取节点
Element element2 = configCache.getCache(“key1”);
Object value = element2.getValue();
//更新节点
configCache.put(new Element(“key1”,”value2”));
//删除节点
configCache.remove(“key1”);
以上是Ehcache的基本使用,是不是很简单?