欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用EhCache缓存页面 HibernateSQLXMLWeb.net

程序员文章站 2022-07-14 17:50:06
...
目前的项目是某学校内网+外网的项目。
    外网先上线,测试发现速度不是很快,局域网访问的话切换一个页面要2-5s。因为客户催的急,更细化调优没有进行。项目使用Ehcache做Hibernate的二级缓存,而Ehcache还可以承担更多的任务,比如对网页服务器进行缓存。
    学校外部网站的信息更新操作是很少的,大部分的时候页面都是固定的,但是访问页面要action->service->db 走一圈完全没必要嘛。使用EHcache,把当前页面缓存起来,跳过action。。。等的访问。
web.xml:
  <filter>
    <filter-name>CachePage1CachingFilter</filter-name>
    <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter
    </filter-class>
    <init-param>
      <param-name>suppressStackTraces</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>cacheName</param-name>
      <param-value>CachePage1CachingFilter</param-value>
    </init-param>
  </filter>
  <filter-mapping> 
    <filter-name>CachePage1CachingFilter</filter-name> 
    <url-pattern>*.action</url-pattern> 
  </filter-mapping> 

这里说一句废话,这个filter要放在struts2的过滤器之前。。。
ehcache.xml :
  <cache name="CachePage1CachingFilter"
           maxElementsInMemory="10"
           eternal="false"
           timeToIdleSeconds="10000"
           timeToLiveSeconds="10000"
           overflowToDisk="true">
    </cache>

重启服务,刷新二次页面,第一次有hibernate的sql发出,第二次没有sql发出,速度明显加快。