• OScached缓存整个页面和缓存局部页面


    1.缓存整个页面

        在OSCache组件中提供了一个CacheFilter用于实现页面级的缓存。主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成PDF格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的压力,而且对于减少web服务器的性能消耗有很显著的效果。

       功能是通过在web.xml中进行配置来决定缓存哪一个或者哪一组页面,而且还可以设置相关缓存属性。

    缓存指定页面,配置如下:    

    [html] view plain copy
     
    1. <filter>     
    2.     <filter-name>CacheFilter</filter-name>     
    3.     <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>      
    4.     <!-- 设置缓存时间 -->  
    5.     <init-param>      
    6.         <param-name>time</param-name>     
    7.         <param-value>600</param-value>     
    8.     </init-param>      
    9.     <!-- 设置作用范围 -->  
    10.     <init-param>       
    11.        <param-name>scope</param-name>      
    12.        <param-value>session</param-value>     
    13.     </init-param>      
    14. </filter>       
    15. <filter-mapping>       
    16.     <filter-name>CacheFilter</filter-name>  
    17.     <!-对页面 main.jsp 进行缓存-->       
    18.     <url-pattern>main.jsp</url-pattern>   
    19.     <!-对所有jsp页面内容进行缓存       
    20.     <url-pattern>*.jsp</url-pattern>  -->      
    21. </filter-mapping>  

    备注:

     

    1.在页面级缓存的情况下,可以通过设置CacheFilter的初始属性来决定缓存的一些特性:time属性设置缓存的时间段,默认为3600秒,可以根据自己的需要只有的设置,而scope属性设置,默认为application,可选项包括application、session。

    2.只有客户访问时返回http头信息中代码为200(也就是访问已经成功)的页面信息才能够被缓存。

    2.缓存局部页面

        使用OScache标签,用标签把指定的内容给包含起来。在标签中可以设置缓存的属性。
    用OSCache局部缓存,保存页面中的内容:
    [plain] view plain copy
     
    1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
    2.     pageEncoding="UTF-8"%>  
    3. <%@ page language="java" import="java.util.*" %>  
    4. <%@ page language="java" import="java.text.*" %>         
    5. <%@ taglib uri="http://www.opensymphony.com/oscache" prefix="cache" %>      
    6. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
    7. <html>  
    8. <head>  
    9. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    10. <title>Insert title here</title>  
    11. </head>  
    12. <body>  
    13.     <%SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); %>  
    14.     <div>  
    15.         <cache:cache key="cacheDate" scope="session" time="15">   
    16.             <h2>使用缓存,让时间在15秒内不进行更新</h2>  
    17.             <div><%  
    18.                 String cacheTime = sdf.format(new Date());  
    19.                 out.println(cacheTime);               
    20.                 %>  
    21.             </div>  
    22.         </cache:cache>  
    23.     </div>  
    24.     <hr>  
    25.     <div>  
    26.         <h2>不使用缓存</h2>  
    27.         <div><%  
    28.             String commonTime = sdf.format(new Date());  
    29.             out.println(commonTime);  
    30.          %></div>  
    31.     </div>  
    32. </body>  
    33. </html>  
     
    页面效果:

  • 相关阅读:
    赤手空拳破解WINDOWS系统密码
    几扇鲜为人知的Windows XP自动运行后门
    Enumerating Logon Sessions
    用浏览器控件做界面,网页界面中定义自己的程序事件
    P2P之UDP穿透NAT的原理与实现(附源代码)
    delphi调用c#写的webservice中文出现乱码的问题
    基于Delphi的DirectShow开发概述
    视频捕获软件开发完全教学
    GINA 模块定义文件(Windows XP)
    GINA后门代码
  • 原文地址:https://www.cnblogs.com/sbj-dawn/p/7841382.html
Copyright © 2020-2023  润新知