oscache 页面级缓存实例
2015-05-27 16:24
309 查看
缓存页面跟oscache.properties文件也是有关联的,需要将oscache.memory设为true
1.缓存整个页面
在OSCache组件中提供了一个CacheFilter用于实现页面级的缓存。主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成PDF格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的压力,而且对于减少web服务器的性能消耗有很显著的效果。该功能是通过在web.xml中进行配置来决定缓存哪一个或者哪一组页面,而且还可以设置相关缓存属性。
缓存指定页面,配置如下:
[html] view
plaincopy
<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(也就是访问已经成功)的页面信息才能够被缓存。
3.配置里配置的main.jsp, 访问时必须访问的也是main.jsp才能缓存,可以配置为.do .action之类,不局限于jsp
2.缓存局部页面
使用OScache标签,用标签把指定的内容给包含起来。在标签中可以设置缓存的属性。用OSCache局部缓存,保存页面中的内容:
[plain] view
plaincopy
<%@ 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页面缓存 /article/10487455.html
2.用OSCache进行缓存对象 http://blog.csdn.net/zhifeng172/article/details/7608682
相关文章推荐
- Yii 的缓存(页面缓存配置实例)
- vue服务端渲染页面缓存和组件缓存的实例详解
- OSCache-JSP页面缓存(2)
- OSCache页面缓存的基础入门
- OSCache-JSP页面缓存(2)
- oscache全局页面缓存出现乱码解决办法
- 10(maven+SSH)之页面缓存OSCache
- OSCache-JSP页面缓存(1)
- OSCache做页面级缓存
- OSCache页面缓存
- javaweb之response随机生成图片验证码加载到web页面中(本实例使用了禁止浏览器缓存头),并且单击使用javascript换图片
- oscache页面局部缓存----使用
- 用 CashFilter 实现页面级缓存实践 - OSCache使用
- OSCache 学习笔记(2)__缓存整个页面 & 缓存局部页面
- php生成html静态页面缓存技术原理【附实例】
- 页面缓存OSCache
- OSCache-JSP页面缓存
- Zend Framework页面缓存实例
- 利用OSCache 进行页面缓存错误纠正
- 用CashFilter实现页面级缓存实践[ OSCache使用]