EhCache详细解读:点击打开链接
EhCache简介:
EhCache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。
它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。
主要的特性有:
1.快速
2.简单
3.多缓存策略
4.缓存数据有两级:内存和磁盘,因此无需担心容量问题
5. 缓存数据会在虚拟机重启的过程中写入磁盘
6.可以通过RMI、可插入API等方式进行分布式缓存
7.具有缓存和缓存管理器的侦听接口
8. 支持多缓存管理器实例,以及一个实例的多个缓存区域
9.提供Hibernate的缓存实现
如何使用EhCache;
1.创建一个maven项目
2.向pom文件加入EaCache包
<dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.4</version> </dependency>
3.创建一个ehcache.xml文件
<?xml version="1.0" encoding="UTF-8"?> <ehcache> <!-- 磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存 path:指定在硬盘上存储对象的路径 --> <diskStore path="C:\ehcache" /> <!-- defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理 maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象 eternal:代表对象是否永不过期 overflowToDisk:当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中 --> <defaultCache maxElementsInMemory="100" eternal="true" overflowToDisk="true"/><cache name="a" maxElementsInMemory="100" eternal="true" overflowToDisk="true"/> </ehcache>4.创建一个类
public class ehcache { public static void main(String[] args) { //根据 ehcache.xml 创建Cache管理器 CacheManager manager = CacheManager.create("./src/main/resources/ehcache.xml"); //获取指定的Cache Cache cache = manager.getCache("a"); Element element = new Element("sf","spf168"); //把一个元素添加到Cache中 cache.put(element); //根据key取值 Element element1 = cache.get("sf"); System.out.println(element1); System.out.println(element1.getObjectValue()); cache.flush();//刷新缓存 manager.shutdown();//关闭缓存管理器 } }
最后输出结果: