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
分享到:
相关推荐
2. **Map接口支持**: osCache 提供了与Java `java.util.Map`接口类似的API,开发者可以方便地进行添加、删除、更新和查询操作,降低了学习成本。 3. **集群支持**: 一个显著的特点是其内嵌的集群支持。osCache允许...
**基于OSCache的页面缓存技术详解** 在Web应用程序中,页面缓存是一种常见的优化策略,它可以显著提高网站性能,减少服务器压力,并提供更快的用户体验。OSCache是Apache软件基金会的开源项目,它是一个高性能、...
- **清理缓存**:可以调用`OsCache.clear()`方法清空整个缓存,或者使用`OsCache.evict(key)`清除指定的缓存条目。 ### 4. osCache的高级特性 - **事件监听**:osCache允许注册监听器来处理缓存的添加、删除和更新...
OsCache是Java应用程序中常用的缓存框架,它能够有效地提高应用程序的性能,通过将经常访问的数据存储在内存中,减少对数据库或其他数据源的访问,从而降低系统负载。本示例将通过一个天气预报Web服务的场景,详细...
osCache是Java开发中常用的缓存框架之一,它主要用于提高应用程序的性能和效率,通过将数据存储在内存中,减少对数据库的访问。osCache不仅可以用于Web应用,也可以用于任何Java应用程序,支持集群环境,提供了丰富...
二、缓存页面的部分 1. OSCache标签库配置 为了使用OSCache的标签库,首先需要将`soscache.tld`文件放入CLASSPATH路径下,并在`web.xml`中声明: ```xml <taglib-uri>oscache <taglib-location>/WEB-INF/...
oscache是一款开源的Java缓存解决方案,其核心功能在于能够缓存Web应用中的动态内容,从而显著提升页面加载速度和服务器资源利用率。它通过在服务器端存储已生成的动态数据,避免了频繁的数据查询和页面渲染,有效...
它是由OpenSymphony团队开发的,能够缓存对象、SQL查询结果甚至整个页面,避免了频繁访问数据库或执行昂贵的计算,从而降低了系统负载。在这个"OSCache学习例子 实例"中,我们将深入探讨如何在J2EE环境中集成并使用...
在SSM项目中引入OScache,可以在服务器端对经常访问的页面进行缓存,提高页面加载速度,减轻服务器压力。配置OScache主要包括设置缓存策略、缓存范围以及缓存失效策略等。 【Freemarker模板】 Freemarker是一个基于...
2. **缓存整个页面**:osCache可以缓存整个Web页面,这通常适用于静态或者半静态的页面。当用户请求此类页面时,服务器会将整个HTML内容存入osCache,下次请求相同页面时,直接从缓存中返回,减少了服务器的渲染时间...
2. **缓存预热**: 在应用程序启动时,OSCache 支持预加载关键数据到缓存中,提高首次访问的速度。 3. **缓存分区**: 可以根据业务需求将缓存划分为多个区域,每个区域可以独立设置缓存策略,如缓存时间、大小限制等...
osCache 是一个开源的、基于Java的缓存框架,它为Java应用程序提供了高效且可配置的内存缓存功能。在本文中,我们将深入探讨osCache的基本概念、工作原理以及如何在实际项目中进行配置和使用。 一、osCache基本概念...
osCache支持缓存页面片段、整个页面、Java对象或者自定义数据结构。 **2. osCache的工作原理** osCache采用键值对的形式存储数据,当请求到来时,首先检查缓存中是否存在所需数据。如果存在,直接从缓存返回,无需...
标题 "OSCACHE配置URL实现页面缓存的Filter(修改配置无需重启)" 提示我们讨论的是一个使用OSCache(OpenSymphony Cache)库来缓存Web应用程序中特定URL页面的过滤器配置。OSCache是一个开源的Java缓存框架,用于提高...
总结来说,页面缓存是提升Web应用性能的有效手段,OSCache作为一款强大的Java缓存框架,提供了丰富的功能和良好的扩展性,能够帮助开发者轻松实现缓存管理。理解和掌握OSCache的使用,有助于我们构建更高效、更稳定...
此外,OSCache还提供了API来实现更复杂的缓存操作,如清除特定缓存项、刷新整个缓存等。开发者可以根据实际需求选择合适的缓存策略和管理方法。 在实际应用中,需要注意监控和调整缓存设置,以确保最佳性能。过度...
osCache是Java平台上的一个高效的缓存解决方案,主要用于在应用程序中缓存数据,以提高性能和减少数据库的负载。这个工具特别适用于那些需要频繁访问但更新不频繁的数据,例如经常查询但很少更改的数据库记录。...
它可以缓存对象、集合甚至整个页面,有助于减少数据库负载。在本实例中,我们将看到如何配置OSCache与Hibernate集成,以及如何在实际项目中使用这些缓存策略。 首先,我们需要在Hibernate的配置文件(如`hibernate....