新建一个Maven项目,pom.xml里引入 ehcache支持;
1 <dependency> 2 <groupId>net.sf.ehcache</groupId> 3 <artifactId>ehcache</artifactId> 4 <version>2.10.3</version> 5 </dependency>
在src/main/resources下新建ehcache.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <ehcache> 4 <!-- 5 磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存 6 path:指定在硬盘上存储对象的路径 7 --> 8 <diskStore path="D:\\ehcache" /> 9 10 <!-- 11 defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理 12 maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象 13 eternal:代表对象是否永不过期 14 overflowToDisk:当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中 15 --> 16 <defaultCache 17 maxElementsInMemory="100" 18 eternal="true" 19 overflowToDisk="true"/> 20 21 22 <cache 23 name="a" 24 maxElementsInMemory="100" 25 eternal="true" 26 overflowToDisk="true"/> 27 28 </ehcache>
然后新建一个测试类;
1 package com.arawn.ehcache; 2 3 import net.sf.ehcache.Cache; 4 import net.sf.ehcache.CacheManager; 5 import net.sf.ehcache.Element; 6 7 public class EhcacheTest { 8 9 public static void main(String[] args) { 10 // 根据ehcache.xml配置文件创建Cache管理器 11 CacheManager manager = CacheManager.create(EhcacheTest.class.getResourceAsStream("/ehcache.xml")); 12 Cache c = manager.getCache("a"); // 获取指定Cache 13 Element e = new Element("cnblogs", "arawn"); // 实例化一个元素 14 c.put(e); // 把一个元素添加到Cache中 15 16 Element e2 = c.get("cnblogs"); // 根据Key获取缓存元素 17 System.out.println(e2); 18 System.out.println(e2.getObjectValue()); 19 20 c.flush(); // 刷新缓存 21 manager.shutdown(); // 关闭缓存管理器 22 } 23 }