1、将ehcache.xml文件放到src目录下
<?xml version="1.0" encoding="UTF-8"?> <ehcache> <!-- 指定一个文件目录,当EhCache把数据写到硬盘上时,将把数据写到这个文件目录下 --> <diskStore path="java.io.tmpdir"/> <!-- 默认缓存 --> <defaultCache maxElementsInMemory="10000" eternal="false" overflowToDisk="true" timeToIdleSeconds="10" timeToLiveSeconds="20" diskPersistent="false" diskExpiryThreadIntervalSeconds="120"/> <!-- 自定义缓存 --> <cache name="cacheTest" maxElementsInMemory="1000" eternal="false" overflowToDisk="true" timeToIdleSeconds="10" timeToLiveSeconds="10"/> </ehcache>
2、写个工具类
package com.common.utils; import java.net.URL; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; import net.sf.ehcache.Element; public class EhcacheUtil { private static String path = "/ehcache.xml"; private URL url; private CacheManager manager; private static EhcacheUtil cacheUtil; private EhcacheUtil(String path){ url = this.getClass().getResource(path); manager = CacheManager.create(url); } public static EhcacheUtil getInstance() { if(cacheUtil == null){ synchronized (EhcacheUtil.class) { if(cacheUtil == null){ cacheUtil = new EhcacheUtil(path); } } } return cacheUtil; } public void put(String cacheName, String key, Object value) { Cache cache = manager.getCache(cacheName); Element element = new Element(key, value); cache.put(element); } public Object get(String cacheName, String key) { Cache cache = manager.getCache(cacheName); Element element = cache.get(key); return element == null ? null : element.getObjectValue(); } public Cache get(String cacheName) { return manager.getCache(cacheName); } public void remove(String cacheName, String key) { Cache cache = manager.getCache(cacheName); cache.remove(key); } }
3、写个测试类
package com.test; import com.common.utils.EhcacheUtil; public class TestEhcache { public static void main(String[] args) { EhcacheUtil.getInstance().put("cacheTest", "test", "so easy!"); Object object = EhcacheUtil.getInstance().get("cacheTest", "test"); System.out.println((String)object); } }
4、结束啦