网上找了一下关于web开发方面可使用的缓存技术,发现oscache是个好东西!找到一些网友写得不错的关于oscache入门的博文。转载一篇于此。
首先还是贴上原博文的地址:
http://leeboysam.blog.163.com/blog/static/214194020066181110300/
OSCache:她是现在最广泛缓存解决方案,采用的高性能的J2EE缓存框架, OSCache能用于任何Java应用程序。
这里可以下载到最新的OSCache的jar包:
http://java.net/downloads/oscache/
1、OSCache的配置
将下载的oscache-x.x.x-full.zip解压,将etc目录下的oscache.properties 、oscache.tld 及 oscache.jar,还有lib目录下的commons-logging.jar,jgroups-all.jar放到你工程下。具体位置如下:oscache.properties 、oscache.tld到src的根目录,三个jar包放在lib目录下。
然后要配置一下web.xml,加上以下配置。
<jsp-config>
<taglib>
<taglib-uri>oscache</taglib-uri>
<taglib-location>/WEB-INF/classes/oscache.tld</taglib-location>
</taglib>
</jsp-config>
好了,配置完成,现在可以测试一下了。编写一个页面如下,我们通过两个时间来对比就可以发现OSCache是否起作用啦。这里我们使用了OSCache的<os:cache>标签,“time='20'”代表缓存的过期时间。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="os" uri="oscache" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
</head>
<body>
<%=new Date()%><br>
<os:cache time="20"><br>
<%=new Date()%>
</os:cache>
</body>
</html>
2、基于过滤器Filter来配置OSCache。
OSCache还可以基于过滤器来进行缓存的配置。在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>60</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>
<url-pattern>/*</url-pattern>
</filter-mapping>
上面定义将缓存所有页面,缓存刷新时间为60秒,缓存作用域为Session。
注意,CacheFilter只捕获Http头为200的页面请求,即只对无错误请求作缓存,
而不对其他请求(如500,404,400)作缓存处理 。
----------------------------------补充-------------------------------------
有时候,会发现使用oscache的自定义标签或者过滤器很难满足我们的一些缓存的需求,我们可以使用com.opensymphony.oscache.general.GeneralCacheAdministrator来对具体对象进行缓存。
GeneralCacheAdministrator主要对实现持久化对象的保存以及取出的相关的操作,主要方法如下:
Object getFromCache(String key) //根据key获取缓存对象
Object getFromCache(String key, int refreshInterval) //refreshInterval时间内,根据key获取缓存对象
void putInCache(String key, Object obj) //保存被缓存对象
void flushAll() //删除所有被缓存的对象
void flushAll(Date date) //在指定的时间去删除所有被缓存的对象
void cancelUpdate(String key) //取消未确定的更新
以上例子本人已经测试通过,如果有什么问题可以在回复中提出,大家一起探讨。
分享到:
相关推荐
你可以直接运行该项目,通过查看和分析代码来深入理解OsCache的使用方式。 总结来说,OsCache是一个强大的缓存解决方案,尤其适用于Java Web应用。通过合理地使用OsCache,我们可以优化数据访问,提高系统的响应...
Oscache是一款开源的Java缓存解决方案,主要用于提高Web应用程序的性能,通过在内存中存储经常访问的数据,避免了频繁的数据库查询,从而减少了系统响应时间。本文将深入探讨Oscache的基本原理、配置以及如何在实际...
首先,需将oscache.jar文件放入项目的`WEB-INF\lib`目录下,这是引入oscache库的基本步骤,确保应用程序能够识别并使用oscache相关的类和方法。 #### 2. 配置属性文件 将`oscache.properties`和`oscache.tld`文件...
本文档详细介绍了OSCache的配置与使用,旨在为开发者提供一份全面的参考指南。OSCache是由OpenSymphony开发的开源缓存框架,它为J2EE应用程序提供了高效、灵活的缓存解决方案。 文档介绍 文档目的: 本文档的主要...
**osCache 是一款高效、轻量级的 Java 缓存框架,主要用于提高应用程序的性能和减少对数据库的访问。在本文中,我们将深入探讨 osCache 的核心概念、使用场景以及如何在项目中有效地利用它。** ### 一、缓存的重要...
OSCache是开源的Java缓存解决方案,主要用于提高Web应用程序的性能和响应速度。它是由OpenSymphony团队开发的,能够缓存对象、SQL查询结果甚至整个页面,避免了频繁访问数据库或执行昂贵的计算,从而降低了系统负载...
6. **集成到JSP页面**:在JSP页面中引入Oscache标签库,使用`<%@taglib uri="oscache" prefix="cache"%>`声明,其中`uri`值应与`web.xml`中配置的`<taglib-uri>`一致。 7. **实现缓存逻辑**:在JSP页面中利用...
OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存...OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存解决方案。
在Java项目中,通常将其添加到项目的类路径(classpath)中,以便程序能够找到并使用osCache的相关类。 接着,我们需要配置osCache的行为,这通常通过oscache.properties文件实现。这个文件定义了缓存的各种参数,...
`oscache-2.1.jar` 是OSCache的核心库文件,包含了所有必要的类和资源,供Java应用程序在运行时加载和使用OSCache服务。这个版本号(2.1)表示这是一个特定的OSCache发行版,不同的版本可能有性能优化、新特性和错误...
OSCache 是一个强大的开源缓存解决方案,主要用于提升 Java Web 应用程序的性能。它能够缓存页面内容,减轻数据库压力,并减少服务器的资源消耗。本文将详细介绍 OSCache 的配置和使用方法。 **一、缓存整个页面** ...
osCache是一款流行且强大的Java缓存框架,主要用于提高应用程序的性能和响应速度。它通过将经常访问的数据存储在内存中,避免了反复读取数据库或计算数据的过程,从而显著提升了系统的整体性能。osCache支持本地缓存...
OSCache 是一个开源的、基于Web应用的缓存解决方案,它主要用于提高应用程序的性能,通过存储经常访问的数据来减少数据库查询的次数。OSCache 可以缓存对象、部分页面或整个页面,以降低服务器负载并提升响应速度。 ...
OSCache是OpenSymphony开发的一款高效、开源的Java缓存框架,主要应用于Web应用程序,特别是JSP环境。其核心功能是提供内存级别的缓存服务,从而显著提高网页的加载速度和减少数据库的压力。标题"oscache-2.4.1-full...
将`oscache.tld`文件复制到`/WEB-INF/classes`目录,这是OSCache的标签库文件,用于在JSP中使用OSCache的功能。 4. **web.xml配置**: 在`web.xml`文件中添加OSCache的标签库引用,如下所示: ```xml ...
osCache不仅可以用于Web应用,也可以用于任何Java应用程序,支持集群环境,提供了丰富的功能和配置选项。 1. **osCache的基本概念** - **缓存**:缓存是一种技术,用于临时存储频繁访问的数据,以便快速响应用户的...