使用緩存技術來提高性能之——OSCache緩存技術入門(二)

1.緩存整個頁面

    在OSCache組件中提供了一個CacheFilter用於實現頁面級的緩存。主要用於對web應用中的某些動態頁面進行緩存,尤其是那些需要生成PDF格式文件/報表、圖片文件等的頁面,不僅減少了數據庫的交互、減少數據庫服務器的壓力,而且對於減少web服務器的性能消耗有很顯著的效果。

   功能是通過在web.xml中進行配置來決定緩存哪一個或者哪一組頁面,而且還可以設置相關緩存屬性。

緩存指定頁面,配置如下:   


<filter>   
    <filter-name>CacheFilter</filter-name>   
    <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>    
    <!-- 設置緩存時間 -->
    <init-param>    
        <param-name>time</param-name>   
        <param-value>600</param-value>   
    </init-param>    
    <!-- 設置作用範圍 -->
    <init-param>     
       <param-name>scope</param-name>    
       <param-value>session</param-value>   
    </init-param>    
</filter>     
<filter-mapping>     
    <filter-name>CacheFilter</filter-name>
    <!-對頁面 main.jsp 進行緩存-->     
    <url-pattern>main.jsp</url-pattern>	
    <!-對所有jsp頁面內容進行緩存     
    <url-pattern>*.jsp</url-pattern>  -->    
</filter-mapping>

備註:

1.在頁面級緩存的情況下,可以通過設置CacheFilter的初始屬性來決定緩存的一些特性:time屬性設置緩存的時間段,默認爲3600秒,可以根據自己的需要只有的設置,而scope屬性設置,默認爲application,可選項包括application、session。

2.只有客戶訪問時返回http頭信息中代碼爲200(也就是訪問已經成功)的頁面信息才能夠被緩存。

2.緩存局部頁面

    使用OScache標籤,用標籤把指定的內容給包含起來。在標籤中可以設置緩存的屬性。
用OSCache局部緩存,保存頁面中的內容:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page language="java" import="java.util.*" %>
<%@ page language="java" import="java.text.*" %>       
<%@ taglib uri="http://www.opensymphony.com/oscache" prefix="cache" %>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); %>
	<div>
		<cache:cache key="cacheDate" scope="session" time="15"> 
			<h2>使用緩存,讓時間在15秒內不進行更新</h2>
			<div><%
				String cacheTime = sdf.format(new Date());
				out.println(cacheTime);				
				%>
			</div>
		</cache:cache>
	</div>
	<hr>
	<div>
		<h2>不使用緩存</h2>
		<div><%
			String commonTime = sdf.format(new Date());
			out.println(commonTime);
		 %></div>
	</div>
</body>
</html>

頁面效果:


    參考文章:

1. OSCache頁面緩存  http://blog.csdn.net/orclight/article/details/8525896

2.用OSCache進行緩存對象    http://blog.csdn.net/zhifeng172/article/details/7608682


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章