您的位置:首页 > 其它

EHcache简单使用

2014-06-03 17:39 253 查看
最近项目中需要使用到缓存,花了点时间简单研究了一下EHcache。

首先在maven中添加EHcahe依赖

<dependency>

<groupId>net.sf.ehcache</groupId>

<artifactId>ehcache</artifactId>

<version>2.8.2</version>

</dependency>

ehcache.xml复制到项目中

将ehcache中的ehcache.xml和ehcache.xsd复制到项目中的src下

配置ehcache.xml

<cache name="mapCache"

maxEntriesLocalHeap="1000" <!-- 堆中的最大对象数 -->

maxEntriesLocalDisk="100000"<!-- 硬盘中的最大对象数 -->

eternal="false"<!-- 是否永久存在 -->

diskSpoolBufferSizeMB="20"<!-- 硬盘的缓冲区大小 -->

timeToIdleSeconds="300"<!-- 对象空闲到期时间 -->

timeToLiveSeconds="600"<!-- 对象存在时间 -->

memoryStoreEvictionPolicy="LFU"<!--默认为LRU(最近最少访问),另有先进先出(FIFO),最少访问次数(LFU) -->

transactionalMode="off"<!--没有事务-->

>

<persistence strategy="localTempSwap"/>

</cache>

API使用:

缓存的创建,采用自动的方式

CacheManager singletonManager = CacheManager.create();
singletonManager.addCache("testCache");
Cache test = singletonManager.getCache("testCache");

或者直接创建Cache


CacheManager singletonManager = CacheManager.create();
Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2);
manager.addCache(memoryOnlyCache);
Cache test = singletonManager.getCache("testCache");

删除cache

CacheManager singletonManager = CacheManager.create();
singletonManager.removeCache("sampleCache1");

在使用ehcache后,需要关闭

CacheManager.getInstance().shutdown()

caches 的使用


Cache cache = manager.getCache("sampleCache1");

执行crud操作


Cache cache = manager.getCache("sampleCache1");
Element element = new Element("key1", "value1");
cache.put(element);

update

Cache cache = manager.getCache("sampleCache1");
cache.put(new Element("key1", "value1");
//This updates the entry for "key1"
cache.put(new Element("key1", "value2");

get Serializable


Cache cache = manager.getCache("sampleCache1");
Element element = cache.get("key1");
Serializable value = element.getValue();

get non serializable

Cache cache = manager.getCache("sampleCache1");
Element element = cache.get("key1");
Object value = element.getObjectValue();

remove

Cache cache = manager.getCache("sampleCache1");
Element element = new Element("key1", "value1"
cache.remove("key1");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: