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 -用户主目录 (C:\Documents and Settings\Administrator)
user.dir -用户当前目录 (F:\JAVA\microblog 项目位置)
java.io.tmpdir 默认文件临时路径 (C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\)
也可以自定义路径 如: 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秒
转http://luyao123127.iteye.com/blog/1300832
分享到:
相关推荐
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 ...
我们将使用基于注释的方法,但将遵循传统的 EhCache XML 配置。 使用 hsqldb 2.3.3 版本全面支持 JDBC 3.0 构建依赖 要求 版本 阿帕奇Maven 3.x Java JDK >= 6 蚀 >= 赫利俄斯 hsqldb >= 2.0.x 建立食谱 编译...
• 架构技术: Struts2+Spring3+Hibernate4+EasyUI1.3+Spring JDBC+Highcharts报表+Jquery+Ehcache+Freemarker • 代码生成器:自动生成美观大方的前台页面及后台代码 • 查询条件生成器: 动态拼SQL,追加查询条件 •...
2.3.8.jar struts2-spring-plugin-2.0.11.1 antlr-2.7.5H3.jar asm.jar asm-attrs.jar cglib-2.1.3.jar commons-collections-2.1.1.jar dom4j-1.6.1.jar ehcache-1.1.jar ...
lenos(p为spring boot 2.0 版本扩展名)一款快速开发模块化脚手架,采用spring boot 2.0.1、spring、SpringMvc、mybatis、shiro、activiti工作流、swagger、ehcache、redis、quartz、freemarker、layui技术开发;...
Spring Boot 2.0 WebFlux编程 Spring Boot WebFlux增删改查样例 二、Spring Boot & Shiro教程 Spring Boot Shiro用户认证 Spring Boot Shiro Remember Me Spring Boot Shiro权限控制 Spring Boot Shiro Redis Spring...
lenos(p为spring boot 2.0 版本扩展名)一款快速开发模块化脚手架,采用spring boot 2.0.1、spring、SpringMvc、mybatis、shiro、activiti工作流、swagger、ehcache、redis、quartz、freemarker、layui技术开发;...
7.1注解配置与EhCache使用 35 7.2使用Redis集成缓存 37 八、 热部署 37 8.1 什么是热部署 37 8.2 项目演示案例 37 8.3 热部署原理 37 8.4 Devtools依赖 38 8.5 Devtools原理 38 九、 监控管理 38 Actuator...
c3p0-0.9.1.jar 是一个数据库连接池,Hibernate可以配置为使用C3PO连接池。如果准备用这个连接池,就需要这个jar包. dom4j-1.6.1.jar 用来读写XML文件的 ehcache-1.5.0.jar ehcache缓存 hibernate3.jar hibernate-...
chapter4-4-1:注解配置与EhCache使用 chapter4-4-2:使用Redis做集中式缓存 邮件发送 chapter4-5-1:实现邮件发送:简单邮件、附件邮件、嵌入资源的邮件、模板邮件 消息服务 chapter5-1-1:[JMS(未完成)] chapter...
TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、...
简易代码生成器,增加字段配置功能、生成页面功能,实现增删查改不需要写一句代码(参考) ehcache缓存 springmvc 整合hibernate validater 进行后端数据验证 ###系统权限管理 系统管理——包含用户、角色、权限、资源...
该项目是基于SpringBoot2.1.3版本来实现的,算是比较新的。该项目中用到了SpringBoot2.0之后的拦截器,yml配置jsp,整合Mybatis-Plus,以及使用了其一对多,多对多的查询特性,还集成了Ehcache缓存技术等
Spring3.2 Hibernate4.2 JPA2全注解实例.采用JTA事务管理,配置ehcache为二级缓存,在glassfish3.2.2和postgresql9测试通过。参考网上的资料整理。
TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro开发的后台管理系统,采用分模块的方式轻松开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理,角色管理,字典管理,...
TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro开发的后台管理系统,采用分模块的方式轻松开发和维护,支持前后台模块分别部署,目前支持的功能有:管理,字典管理,日志记录,文件...
TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、...
TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、...
TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、...
TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、...