EHCache页面缓存技术

EHCache的jar包 :http://ehcache.org/downloads/catalog   这里用的是EHcache的web包。

在项目的web.xml文件中加入一个filter:

<!--EHCache 页面缓存技术,该页面缓存技术用于page -> filter之间,若是局部页面缓存,
          则用SimplePageFragmentCachingFilter,但应注意局部页面要被其他页面 jsp:include
    -->
    <filter>
        <filter-name>indexCacheFilter</filter-name>
        <filter-class> net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter</filter-class>
    </filter>
    <!-- 这里是需要缓存的页面 -->
    <filter-mapping>
        <filter-name>indexCacheFilter</filter-name>
        <url-pattern>/index.jsp</url-pattern>
    </filter-mapping>

在src中新建一个ehcache.xml文件:

    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../main/config/ehcache.xsd">  
    <diskStore path="java.io.tmpdir/ehcache" />  
    
    
        <!-- 
            timeToIdleSeconds ,多长时间不访问该缓存,那么ehcache 就会清除该缓存
            timeToLiveSeconds ,缓存的存活时间,从开始创建的时间算起
            memoryStoreEvictionPolicy,采用哪种缓存算法
            overflowToDisk=true 意思是表示当缓存中元素的数量超过限制时,就把这些元素持久化到硬盘
            maxElementsInMemory 表示内存中SimplePageCachingFilter 缓存中元素的最大数量为10
            maxElementsOnDisk 是指持久化该缓存的元素到硬盘上的最大数量也为10
            eternal,缓存是否会死亡
         -->
        <cache name = "SimplePageCachingFilter"
                      maxElementsInMemory = "10"
                      maxElementsOnDisk = "10"
                      eternal = "false"
                      overflowToDisk = "true"
                      diskSpoolBufferSizeMB = "20"
                      timeToIdleSeconds = "120"
                      timeToLiveSeconds = "120"
                      memoryStoreEvictionPolicy = "LFU"/> 
    </ehcache>

ok,这样就对index.jsp做了缓存。另外,对于频繁更新的页面不应该使用缓存技术。

时间: 2024-11-06 07:31:32

EHCache页面缓存技术的相关文章

Ehcache学习总结三:Ehcache页面缓存

一:需要jar包 1.ehcache-2.10.2.jar 2.ehcache-web-2.0.4.jar 3.slf4j-api-1.5.8.jar 4.slf4j-log4j12-1.5.8.jar 5.log4j-1.2.15.jar 由于我是结合Spring操作,所以还需导入Spring相关包 二:在项目根路径src目录下加入Ehcache配置文件ehcache.xml <?xml version="1.0" encoding="UTF-8"?>

缓存插件 EHCache 页面缓存CachingFilter

Ehcache基本用法 CacheManager cacheManager = CacheManager.create(); // 或者 cacheManager = CacheManager.getInstance(); // 或者 cacheManager = CacheManager.create("/config/ehcache.xml"); // 或者 cacheManager = CacheManager.create("http://localhost:8080

Ehcache 页面缓存

页面缓存,毫无疑问,几乎所有的网站的首页都是访问率最高的,而首页上的数据来源又是非常广泛的,大多数来自不同的对象,而且有可能来自不同的db ,所以给首页做缓存是一个不错的主意,那么主页的缓存策略是什么样子的呢,我认为应该是某个固定时间之内不变的,比如说2 分钟更新一次.那么这个缓存应该做在什么地方呢,让我们来看一下,假设您的应用的结构是page-filter-action-service-dao-db ,这个过程中的- 的地方都是可以做缓存的地方,根据页面缓存的特征,应该把页面缓存做到尽量靠近客

比较全的.NET页面缓存技术文章

原文发布时间为:2009-11-04 -- 来源于本人的百度文章 [由搬家工具导入] http://www.cnblogs.com/jacksonwj/archive/2009/07/09/1519712.html 一、页面输出缓存 二、页面局部缓存 三、应用程序数据缓存 四、文件缓存依赖 五、数据库缓存依赖

ehcache 页面整体缓存和局部缓存

页面缓存是否有必要?. 这样说吧,几乎所有的网站的首页都是访问率最高的,而首页上的数据来源又是非常广泛的,大多数来自不同的对象,而且有可能来自不同的db ,所以给首页做缓存是很必要的.那么主页的缓存策略应该怎样设计呢?我认为应该是某个固定时间之内不变的,比如说2分钟更新一次.那么这个缓存应该做在什么地方呢?让我们来看一下,当前我们的的应用的结构一般是是page-filter-action-service-dao-db ,这个过程中的- 的地方都是可以做缓存的地方,根据页面缓存的特征,应该把页面缓

详细讲解PHP中缓存技术的应用

PHP,一门最近几年兴起的web设计脚本语言,由于它的强大和可伸缩性,近几年来得到长足的发展,php相比传统的asp网站,在速度上有绝对的优势,想mssql转6万条数据php如需要40秒,asp不下2分钟.但是,由于网站的数据越来越多,我们渴求能更快速的调用数据,不必要每次都从数据库掉,我们可以从其他的地方,比方一个文件,或者某个内存地址,这就是php的缓存技术,也就是Cache技术. 一般来说,缓存的目的是把数据放在一个地方让访问的更快点,毫无疑问,内存是最快的,但是,几百M的数据能往内存放么

超轻量级缓存技术——EhCache

1.技术背景: 系统缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能.缓存设想内存是有限的,缓存的时效性也是有限的,所以可以设定内存数量的大小可以执行失效算法,可以在内存满了的情况下,按照最少访问等算法将缓存直接移除或切换到硬盘上. Ehcache从Hibernate发展而来,逐渐涵盖了Cache界的全部功能,是目前发展势头最好的一个项目,具有快速.简单.低消耗.扩展性强.支持对象或序列化缓存,支持缓存或元

ehcache缓存技术的特性

Ehcache是现在最流行的纯Java开源缓存框架,配置简单.结构清晰.功能强大,最初知道它,是从hibernate的缓存开始的.网上中文的EhCache材料以简单介绍和配置方法居多,如果你有这方面的问题,请自行google:对于API,官网上介绍已经非常清楚,请参见官网:但是很少见到特性说明和对实现原理的分析,因此在这篇文章里面,我会详细介绍和分析EhCache的特性,加上一些自己的理解和思考,希望对缓存感兴趣的朋友有所收获. 一.特性一览,来自官网,简单翻译一下: 1.快速轻量 过去几年,诸

SpringMVC mybatis or hibernate ehcache二级缓存maven非和maven版本

获取[下载地址]   QQ: 313596790   [免费支持更新] 支持三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 代码生成器(开发利器);       增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成    就不用写搬砖的代码了,生成的放到项目里,可以直接运行 B 阿里巴巴数据库连接