使用encache页面缓存

使用encache页面缓存,当前台数据量较大时,我们可以在page于filter之间加上缓存,这样也就不需要每次访问主页都向后台发送大量sql来刷新页面了

使用方法

所需要的jar包
这里写图片描述

下载地址:http://download.csdn.net/download/qq_25956141/10210545

1.在classpath下之间添加ehcache.xml,添加内容

<ehcache> 
    <!-- 
        磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存
        path:指定在硬盘上存储对象的路径
     -->
    <diskStore path="java.io.tmpdir" />  
    <!-- 
        defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理
        maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象
        eternal:代表对象是否永不过期
        timeToIdleSeconds:最大的发呆时间
        timeToLiveSeconds:最大的存活时间
        overflowToDisk:是否允许对象被写入到磁盘
     -->
    <defaultCache maxElementsInMemory="10000" eternal="false"
        timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" />    
    <!-- 
        cache:为指定名称的对象进行缓存的特殊配置
        name:指定对象的完整名
     -->
    <cache name="SimplePageCachingFilter" maxElementsInMemory="10000" eternal="false"
        timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="true" />
</ehcache>

2.在web.xml中添加过滤器

<!-- cache缓存机制 -->
   <filter>
        <filter-name>PageCacheFilter</filter-name>
        <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter</filter-class>

    </filter>
    <filter-mapping>
        <filter-name>PageCacheFilter</filter-name>
        <url-pattern>/index.jsp</url-pattern>
    </filter-mapping>

3.在index.jsp中通过获取系统时间来测试cache缓存

    <% 
        out.println(System.currentTimeMillis());
    %>

输出结果,发现每次刷新,获取到的系统时间并不会立即改变,只有在设置的cache缓存周期结束之后,才会更新。

4.如果要添加局部缓存,只需要更改过滤器名称,这个自行百度即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值