OScached缓存整个页面和缓存局部页面
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.缓存局部页面
- <%@ 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>
页面效果:

OScached缓存整个页面和缓存局部页面的更多相关文章
- ehcache 页面整体缓存和局部缓存
页面缓存是否有必要?. 这样说吧,几乎所有的网站的首页都是访问率最高的,而首页上的数据来源又是非常广泛的,大多数来自不同的对象,而且有可能来自不同的db ,所以给首页做缓存是很必要的.那么主页的缓存策 ...
- ehcache实现页面整体缓存和页面局部缓存
之前写过spring cache和ehcache的基本介绍和注解实现缓存管理,今天记录下web项目的页面缓存技术. 页面缓存是否有必要?. 这样说吧,几乎所有的网站的首页都是访问率最高的,而首页上的数 ...
- EhCache缓存页面、局部页面和对象缓存
页面缓存:SimplePageCachingFilter web.xml <!-- 页面缓存配置,配合ehcache.xml中name为“SimplePageCachingFilter”(默认值 ...
- 1.ehcache实现页面整体缓存和页面局部缓存
转自:https://www.cnblogs.com/jianjianyang/p/4933016.html 好长时间没写博客了,真的是没时间啊.ps:其实就是懒!!接下来几篇要写下缓存,这里主要写下 ...
- 关于vue里页面的缓存
keep-alive是vue内置的一个组件,可以使被它包含的组件处于保留状态,或避免被重新渲染. 用法: 运行结果描述: input输入框内,路由切换输入框内部的内容不会发生改变. 在keep-ali ...
- ASP.Net 更新页面输出缓存的几种方法
ASP.Net 自带的缓存机制对于提高页面性能有至关重要的作用,另一方面,缓存的使用也会造成信息更新的延迟.如何快速更新缓存数据,有时成了困扰程序员的难题.根据我的使用经验,总结了下面几种方法,概括了 ...
- HTML页面和JSP页面禁止缓存
一.JSP页面禁止缓存: 防止浏览器缓存当前访问的JSP动态页面,可以采用如下的方式进行设置,此效果如下的“HTML禁止缓存”: % 将过期日期设置为一个过去时间response.setHeader( ...
- html页面清除缓存
需求:页面每次打开时清除本页面的缓存. 页面打开时,由于缓存的存在,刚刚更新的数据有时无法在页面得到刷新,当这个页面作为模式窗口被打开时问题更为明显. 解决办法为: (1) 用HTML标签设置HTTP ...
- .NET的三种缓存(页面缓存,控件缓存,自定义缓存)
BLL.Area bll = new BLL.Area(); protected void Page_Load(object sender, EventArgs e) { if (Cache[&quo ...
随机推荐
- File Searching
Description Have you ever used file searching tools provided by an operating system? For example, in ...
- 算法与数据结构3.1 stack
★实验任务 一天,小 L 发现了一台支持一下操作的机器: IN x:将整数 x 入栈 POP:将栈顶元素出栈 ASUB:出栈两个数,将两数差的绝对值入栈 COPY:将栈顶元素(如果有的话)复制一份,入 ...
- 代替iframe的方法
$('#framecont').html('').load("pageURL"); 使用jQuery.
- Uncaught Error: Syntax error, unrecognized expression: |117的js错误
117指的是js代码在浏览器运行时的出错的行号 var a="117|117" 前面的错误是由于有特殊符号“|”,用$("txtId"+a).val();去取 ...
- linux下php环境配置
参: http://www.laozuo.org/5542.html LAMP,基于Linux/Apache/MySQL/PHP架构的网站建设环境,对于一般的网站来说足够使用,如果我们的网站访问量或者 ...
- java集合类小结
1 集合的框架体系 List简介 集合的使用场合 List(链表|线性表)和Set(集) java.util.Collection ---| Collection 描述所有接口的共性 ----| Li ...
- 深入理解Java对象序列化(转载)
原文地址:http://developer.51cto.com/art/201202/317181.htm 1. 什么是Java对象序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般 ...
- java实现几种简单的排序算法
public class SimpleAri { public static void main(String[] args) { int[] t = {11, 21, 22, 1, 6, 10, 3 ...
- monaco editor 实现自定义提示(sql为例)
monaco editor :https://www.cnblogs.com/XHappyness/p/9414177.html 这里实现自己定义的提示: .vue <template> ...
- getGeneratedKeys自动获取主键的方法
public class Demo { public static void main(String[] args) { try { String sql="insert into pers ...