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. **与其他...
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和...
我们将使用基于注释的方法,但将遵循传统的 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`和`@...
- **Ehcache**:版本2.0,缓存管理组件。 - **JDK**:版本1.6,Java运行环境。 此外,还需要确保操作系统支持这些软件的安装和运行。本文档中的示例是在Windows XP环境下测试通过的。若要在多台服务器上部署,则需...
10. **部署与配置**:系统可能包含部署说明,涉及Tomcat、Jetty等应用服务器的配置,以及环境变量设置,帮助开发者在本地或服务器上快速启动应用。 通过深入学习和研究YHCMS v2.0的源码,开发者不仅可以掌握JSP的...