Android(Java):把EHCache集成到android项目里

来源:互联网 发布:苹果4s连不上网络数据 编辑:程序博客网 时间:2024/06/06 15:37

一、导入需要用到的jar包

ehcache-core-1.7.1.jar

log4j-1.2.13.jar

slf4j-api-1.6.1.jar

slf4j-log4j12-1.6.1.jar

二、在src根目录创建ehcache.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<ehcache>
  <defaultCache
      maxElementsInMemory="10000"
      eternal="false"
      timeToIdleSeconds="120"
      timeToLiveSeconds="120"
      diskSpoolBufferSizeMB="30"
      maxElementsOnDisk="10000000"
      diskExpiryThreadIntervalSeconds="120">
  </defaultCache>
  <cache name="cache"
      maxElementsInMemory="10000"
      eternal="false"
      overflowToDisk="true"
      timeToIdleSeconds="1800"
      timeToLiveSeconds="3600"
      memoryStoreEvictionPolicy="LFU">
  </cache>
</ehcache>

三、在项目中使用EHCache

private CacheManager manager;

manager = CacheManager.create();//使用默认配置文件创建CacheManager

// 通过manager可以生成指定名称的Cache对象
   Cache cache = manager.getCache("cache");
   //可以通过调用manager.removalAll()来移除所有的Cache。通过调用manager的shutdown()方法可以关闭CacheManager。
   //有了Cache对象之后就可以进行一些基本的Cache操作,例如:
   //往cache中添加元素
   Element element = new Element("exams", jo.toString());
   cache.put(element);
   //从cache中取回元素
   element = cache.get("exams");
   element.getValue();
   element.getObjectValue();
   //从Cache中移除一个元素
   cache.remove("exams");
   element = cache.get("exams");
   // 使用manager移除指定名称的Cache对象
//   manager.removeCache("cache");

四、使用最新版2.7.5的jar会报错:No net.sf.ehcache.EhcacheInit services found 求解决

新版不行可以用老版试试