Ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。同时ehcache作为开放源代码项目,采用限制比较宽松的Apache License V2.0作为授权方式,被广泛地用于Hibernate, Spring,Cocoon等其他开源系统。
此处只做简单使用并未涉及监听及分布式存储
ehcache.xml文件配置
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="false" monitoring="autodetect"
dynamicConfig="true">
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
diskSpoolBufferSizeMB="30"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
<cache name="sampleCache1"
maxElementsInMemory="10000"
maxElementsOnDisk="10000"
eternal="false"
overflowToDisk="true"
diskSpoolBufferSizeMB="20"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU"
transactionalMode="off"
/>
</ehcache>
defaultCache是不能被删除的,如果没有defaultCache运行时会报错
diskStore:是指ehcache数据缓存到硬盘上时的缓存路径,系统会在此目录下创建 cache_name.data以及cache_name.index文件
其path属性值可以为:user.home -用户主目录
user.dir -用户当前目录
java.io.tmpdir 默认文件临时路径
也可以自定义路径 如: D:/temp/cache
cache标签属性:
name:cache名称
maxElementsInMemory:设定内存中创建对象的最大值
maxElementsOnDisk:设定硬盘上缓存的对象最大值
eternal:设置元素(译注:内存中对象)是否永久驻留。如果是,将忽略超时限制且元素永不消亡,默认为false,若设为true时timeout属性均无效
overflowToDisk:设置当内存中缓存达到maxInMemory 限制时元素是否可写到磁盘上,此时缓存到硬盘上的对象必须是实现了Serializable接口的才行
diskSpoolBufferSizeMB:将内存中数据转移到硬盘时的缓冲区大小
timeToIdleSeconds:设置某个元素消亡前的停顿时间。也就是在一个元素消亡之前,两次访问时间的最大时间间隔值。这只能在元素不是永久驻留时有效(译注:如果对象永恒不灭,则设置该属性也无用)
timeToLiveSeconds:为元素设置消亡前的生存时间。也就是一个元素从构建到消亡的最大时间间隔值。这只能在元素不是永久驻留时有效
memoryStoreEvictionPolicy:缓存的清空策略
1 FIFO,先进先出
2 LFU,最少被使用,缓存的元素有一个hit属性,hit值最小的将会被清出缓存。
3 LRU,最近最少使用的,缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。
diskPersistent:在VM重启的时候是否持久化磁盘缓存,默认是false。若为true磁盘数据会混村到内存中
diskExpiryThreadIntervalSeconds:磁盘缓存的清理线程运行间隔,默认是120秒
分享到:
相关推荐
在本文中,我们将深入探讨如何将Spring 2.5与Ehcache 2.0进行集成,以便在我们的应用程序中实现高效、可扩展的缓存管理。Ehcache是一款广泛使用的开源Java缓存解决方案,而Spring框架则为它提供了一个方便的集成层,...
其次,Ehcache 3.x的配置与2.x版本有所不同,需要在`resources`目录下创建`ehcache.xml`文件,并按照Ehcache 3.x的格式编写配置。例如: ```xml ***' xmlns:eh='***' xsi:schemaLocation="***"> <!-- 指定缓存...
12. **开源协议**:采用 Apache 2.0 许可证发布,允许开发者自由使用、修改和分发 EHCache 源代码。 #### 三、EHCache参数配置 EHCache 的配置主要通过 XML 文件完成。下面列出了一些关键配置项: - **name**:...
这个文件通常包含软件的授权信息,Ehcache作为一个开源项目,它的LICENSE.txt文件详细列出了该项目的许可协议,可能是Apache License 2.0或其他开源许可证,允许用户自由使用、修改和分发代码。 5. **net目录** ...
在这个项目中,我们将探讨如何在SpringBoot 2.0环境下设置和配置Shiro,以及如何处理用户、权限和角色的关系。 首先,我们需要在项目中引入Shiro的相关依赖。在pom.xml文件中,添加Apache Shiro的Maven依赖,例如:...
在Spring框架中,可以通过配置XML或使用Java配置来轻松集成Ehcache,实现对服务层方法的缓存管理。在Hibernate中,Ehcache作为二级缓存,能够缓存ORM操作的结果,进一步减少对数据库的依赖。这种集成使得开发者可以...
在Spring Boot 2.0中,Ehcache是一个流行的、高性能的本地缓存解决方案,用于提升应用程序性能。本文将深入探讨如何在Spring Boot项目中集成并使用Ehcache进行数据缓存。 首先,Ehcache是由Talend公司维护的一个...
配置Ehcache缓存首先需要在项目的资源目录下创建一个名为`ehcache.xml`的配置文件。在这个文件中,我们需要定义一个名为`userCache`的缓存,设置其缓存策略,如最大内存元素、是否持久化到磁盘以及内存溢出时的行为...
- **ehcache.xml简介**:介绍了配置文件`ehcache.xml`的基本语法和结构。 #### 第七章 RedisPlugin - **概述**:简述了Redis插件的功能。 - **RedisPlugin**:配置Redis插件,实现高性能的内存存储。 - **Redis与...
分页技术通常会结合缓存机制,比如使用 Ehcache 或 Redis 来存储部分数据,减少对数据库的频繁访问,提高系统性能。"pager-taglib-2.0" 可能也提供了与缓存集成的方案,以支持高效的数据分页展示。 6. **与其他...
- 版本信息:Apache_2.2.13,Tomcat6.0.29,mod_jk-1.2.30-httpd-2.2.3.so,Terracotta-3.2.1-installer.jar,Ehcache2.0,JDK1.6 - 配置已经在Windows XP上测试成功,可适应多硬件服务器环境 **三、负载均衡配置**...
ehcache-1.2.3.jar //3* ejb3-persistence.jar //3 freemarker-2.3.13.jar //2 hibernate3.jar //3 hibernate-annotations.jar //3 hibernate-commons-annotations.jar //3 hibernate-entitymanager.jar //3 ...
2. **配置**:NHibernate的配置文件(hibernate.cfg.xml)用于设置数据库连接、方言、缓存策略等,是启动NHibernate的第一步。 3. **映射文件**:使用.hbm.xml文件或者使用Fluent NHibernate库进行代码级映射,定义...
Hibernate 4在Spring 3的基础上进行了优化,支持JPA 2.0规范,提高了性能,增强了对多线程和并发的处理。 3. **Struts 2框架**:Struts 2是基于MVC模式的Java Web框架,用于简化Web应用的开发。它与Spring和...
Spring Boot 2.0 Samples中的缓存示例可能包括了如何使用Spring Cache抽象或者集成Redis、EhCache这样的缓存系统。 通过对这些文件的分析,我们可以看出Spring Boot 2.0 Samples资源包是对Spring Boot 2.0框架进行...
我们将使用基于注释的方法,但将遵循传统的 EhCache XML 配置。 使用 hsqldb 2.3.3 版本全面支持 JDBC 3.0 构建依赖 要求 版本 阿帕奇Maven 3.x Java JDK >= 6 蚀 >= 赫利俄斯 hsqldb >= 2.0.x 建立食谱 编译...
8. **性能优化**:Spring允许配置缓存策略,如使用EhCache或Redis来缓存新闻内容,以减少数据库查询,提高系统性能。 9. **RESTful API设计**:随着前后端分离的趋势,本章可能还会介绍如何使用Spring MVC创建符合...
3. `LICENSE`:通常包含项目的授权协议信息,例如Apache 2.0、MIT等,规定了他人可以如何使用和分发此项目。 4. `README.md`:项目介绍和指南,通常包含如何构建、安装和运行项目的步骤。 5. `pom.xml`:Maven的项目...
关联可以通过`@OneToOne`、`@OneToMany`、`@ManyToOne`和`@ManyToMany`注解来定义,同时可以配置懒加载或急加载策略。 6. **继承策略**:JPA支持单表继承、联合继承和表格分片继承。`@Inheritance`和`@...