文章正文

ehcache-web实现页面(整体)缓存

【文章】2020-04-23

简介ehcache-web实现页面(整体)缓存

场景:文章每分钟产生上千的PV

示例:

ehcache.xml 配置

<!-- 页面全部缓存 -->
   <cache name="SimplePageCachingFilter"
           maxElementsInMemory="10"    
           maxElementsOnDisk="10"      
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="120"
           timeToLiveSeconds="60"
           memoryStoreEvictionPolicy="LFU">    
    </cache>


web.xml 配置

<!--ehcache 页面缓存过滤器 -->
    <filter>
        <filter-name>PageCachingFilter</filter-name>
        <filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter</filter-class>
        <init-param>  
            <param-name>cacheName</param-name>  
            <param-value>SimplePageCachingFilter</param-value>  
       </init-param>  
    </filter>   
    <filter-mapping>
        <filter-name>PageCachingFilter</filter-name>
        <url-pattern>/pageCacheController/testPageCache.do</url-pattern>
    </filter-mapping>

 

controller

@Controller
@RequestMapping("pageCacheController")
public class PageCacheController {

    private final static Logger log = Logger.getLogger(PageCacheController.class);
    
    @RequestMapping("testPageCache")
    public ModelAndView testPageCache(){
        ModelMap model = new ModelMap();
        Date date = new Date();
        model.addAttribute("date", date.toLocaleString() );
        log.info("我来访问controller了");
        return new ModelAndView("testPageCache",model);
    }
}


JSP

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>测试</title>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.11.1.min.js"></script>
    
    <script type="text/javascript">

    </script>
  </head>
  
  <body>
  <h1>这是一个页面缓存的练习</h1>
  <font style="color:green;font-weight:bold;font-size: 18px">${date}</font><br><br>
  </body>
</html>

打赏支持

感谢您的支持,加油!

打开微信扫码打赏,你说多少就多少

找书费时,联系客服快速查找!

扫码支持

在线客服8:30-22:30,若离线请留言!

获取教程,请联系在线客服!

扫码支持

在线客服8:30-22:30,若离线请留言!

热门阅读

找PDF电子书,太费时间?

  • 微信扫描二维码,让客服快速查找。
  • 在线客服8:30-22:30,若离线请留言!

    PDF电子书