Ehcache工具类(java工程中单独使用)

xbbg 贡献于2013-11-26

作者 HJ  创建于2013-11-13 14:43:00   修改者HJ  修改于2013-11-13 14:43:00字数2653

文档摘要:看网上有人说Ehcache,给的例子不是很细致,写了一个在java工程中单独使用的Ehcache工具类,代码中没有留故意的障碍,有别的错误的话各位自己甄别,具体工程在我电脑上如下.
关键词:

看网上有人说Ehcache,给的例子不是很细致, 写了一个在java工程中单独使用的Ehcache工具类,代码中没有留故意的障碍,有别的错误的话各位自己甄别,具体工程在我电脑上如下: 几个主要API如下: http://ehcache.org/apidocs/net/sf/ehcache/Cache.html http://ehcache.org/apidocs/net/sf/ehcache/Element.html http://ehcache.org/apidocs/net/sf/ehcache/CacheManager.html Ehcache配置文件ehcache.xml如下: 工具类如下: package util; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; import net.sf.ehcache.Element; /** * @author HJ * **/ public class EhcacheUtil { //指定配置文件 private static final String appointPath="src/ehcache.xml"; private CacheManager cacheManager; private static EhcacheUtil ehcacheUtil; private EhcacheUtil(String appointPath) { cacheManager = CacheManager.create(appointPath); } public static EhcacheUtil getInstance() { if (ehcacheUtil== null) { ehcacheUtil= new EhcacheUtil(appointPath); } return ehcacheUtil; } /** * 将键值对放入内存 * */ public void put(String cacheName, Object key, Object value) { Cache cache = cacheManager.getCache(cacheName); if(cache == null){ /** * 该类设计为java工程中单独使用,旨在保存一些常用的不经常更新的数据在缓存中 * 所以构造Cache时 * 第二个参数为允许内存中缓存对象的大小,这里为10000000 * 第三个参数为允许在内存达到最大后写入磁盘 * 第四个参数表示永久保存 * 最后两个参数表示Element存活时间无穷大 * **/ cache= new Cache(cacheName, 10000000, true, true, 0, 0); cacheManager.addCache(cache); } Element element = new Element(key, value); cache.put(element); } /** * 获取Element的键值 * **/ public Object getElement(String cacheName, Object key) { Cache cache = cacheManager.getCache(cacheName); if(cache != null){ Element element = cache.get(key); return element == null ? null : element.getObjectValue(); } return null; } /** * 获取Cache值 * **/ public Cache getCache(String cacheName) { return cacheManager.getCache(cacheName); } /** * 删除某个键值对 * **/ public void removeElement(String cacheName, Object key) { Cache cache = cacheManager.getCache(cacheName); if(cache !=null ){ cache.remove(key); } } /** * 删除某个cache * **/ public void removeCache(String cacheName) { Cache cache = cacheManager.getCache(cacheName); if(cache !=null ){ cacheManager.removeCache(cacheName); } } } 测试类如下: package util; public class Main { /** * @author HJ */ public static void main(String[] args) { EhcacheUtil.getInstance().put("memory-1","key-11","value-11"); EhcacheUtil.getInstance().put("memory-1","key-12","value-12"); EhcacheUtil.getInstance().put("memory-2","key-21","value-21"); EhcacheUtil.getInstance().put("memory-2","key-22","value-22"); String value= EhcacheUtil.getInstance().getElement("memory-2", "key-21").toString(); System.out.println(value); value= EhcacheUtil.getInstance().getElement("memory-1", "key-11").toString(); System.out.println(value); EhcacheUtil.getInstance().removeElement("memory-2", "key-21"); System.out.println(EhcacheUtil.getInstance().getElement("memory-2", "key-21")); } }

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 4 人已下载

下载文档