`
- 浏览:
42307 次
- 来自:
福建福州
-
OSCache是当前运用最广的缓存方案,JBoss,Hibernate,Spring等都对其有支持,下面简单介绍一下OSCache的配置和使用过程。
1.安装过程
从http://www.opensymphony.com/oscache/download.html下载合适的OSCache版本,
我下载的是oscache-2.0.2-full版本。
解压缩下载的文件到指定目录
从解压缩目录取得oscache.jar 文件放到 /WEB-INF/lib 或相应类库目录 目录中,
jar文件名可能含有版本号和该版本的发布日期信息等,如oscache-2.0.2-22Jan04.jar
如果你的jdk版本为1.3.x,建议在lib中加入Apache Common Lib 的commons-collections.jar包。
如jdk是1.4以上则不必
从src或etc目录取得oscache.properties 文件,放入src根目录或发布环境的/WEB-INF/classes 目录
如你需要建立磁盘缓存,须修改oscache.properties 中的cache.path信息 (去掉前面的#注释)。
win类路径类似为c:\\app\\cache
unix类路径类似为/opt/myapp/cache
拷贝OSCache标签库文件oscache.tld到/WEB-INF/classes目录。
现在你的应用目录类似如下:
$WEB_APPLICATION\WEB-INF\lib\oscache.jar
$WEB_APPLICATION\WEB-INF\classes\oscache.properties
$WEB_APPLICATION\WEB-INF\classes\oscache.tld
将下列代码加入web.xml文件中
<taglib>
<taglib-uri>oscache</taglib-uri>
<taglib-location>/WEB-INF/classes/oscache.tld</taglib-location>
</taglib>
为了便于调试日志输出,须加入commons-logging.jar和log4j-1.2.8.jar到当前类库路径中
在src目录加入下面两个日志输出配置文件:
log4j.properties 文件内容为:
log4j.rootLogger=DEBUG,stdout,file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[start]%d{yyyy/MM/dd/ HH:mm:ss}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=oscache.log
log4j.appender.file.MaxFileSize=100KB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[start]%d{yyyy/MM/dd/ HH:mm:ss}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n
log4j.logger.org.apache.commons=ERROR
log4j.logger.com.opensymphony.oscache.base=INFO
commons-logging.properties 文件内容为
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
2.oscache.properties 文件配置向导
cache.memory
值为true 或 false ,默认为在内存中作缓存,
如设置为false,那cache只能缓存到数据库或硬盘中,那cache还有什么意义:)
cache.capacity
缓存元素个数
cache.persistence.class
持久化缓存类,如此类打开,则必须设置cache.path信息
cache.cluster 相关
为集群设置信息。
如
cache.cluster.multicast.ip为广播IP地址
cache.cluster.properties为集群属性
3.OSCache的基本用法
cache1.jsp 内容如下
<%@ page import="java.util.*" %>
<%@ taglib uri="oscache" prefix="cache" %>
<html>
<body>
没有缓存的日期: <%= new Date() %><p>
<!--自动刷新-->
<cache:cache time="30">
每30秒刷新缓存一次的日期: <%= new Date() %>
</cache:cache>
<!--手动刷新-->
<cache:cache key="testcache">
手动刷新缓存的日期: <%= new Date() %> <p>
</cache:cache>
<a href="/cache2.jsp">手动刷新</a>
</body>
</html>
cache2.jsp 执行手动刷新页面如下
<%@ taglib uri="oscache" prefix="cache" %>
<html>
<body>
缓存已刷新...<p>
<cache:flush key="testcache" scope="application"/>
<a href="/cache1.jsp">返回</a>
</body>
</html>
你也可以通过下面语句定义Cache的有效范围,如不定义scope,scope默认为Applcation
<cache:cache time="30" scope="session">
...
</cache:cache>
4. 缓存过滤器 CacheFilter
你可以在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>*.jsp</url-pattern>
</filter-mapping>
上面定义将缓存所有.jsp页面,缓存刷新时间为60秒,缓存作用域为Session
注意,CacheFilter只捕获Http头为200的页面请求,即只对无错误请求作缓存,
而不对其他请求(如500,404,400)作缓存处理
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
2. **Map接口支持**: osCache 提供了与Java `java.util.Map`接口类似的API,开发者可以方便地进行添加、删除、更新和查询操作,降低了学习成本。 3. **集群支持**: 一个显著的特点是其内嵌的集群支持。osCache允许...
本文档详细介绍了OSCache的配置与使用,旨在为开发者提供一份全面的参考指南。OSCache是由OpenSymphony开发的开源缓存框架,它为J2EE应用程序提供了高效、灵活的缓存解决方案。 文档介绍 文档目的: 本文档的主要...
本文将详细介绍 OSCache 的配置和使用方法。 **一、缓存整个页面** OSCache 提供了一个名为 `CacheFilter` 的过滤器,该过滤器用于实现页面级别的缓存。通过在 `web.xml` 文件中配置,我们可以指定哪些页面或一组...
2. **osCache的核心功能** - **对象缓存**:osCache允许开发者将Java对象直接放入缓存,便于快速检索。 - **内存管理**:自动管理内存,当内存不足时,可基于LRU(Least Recently Used)策略进行对象的淘汰。 - *...
本示例将通过一个天气预报Web服务的场景,详细介绍OsCache的使用方法。 首先,我们需要了解OsCache的基本概念。OsCache的核心是基于哈希表的数据结构,它可以在内存中存储对象,支持自动过期策略,可以设置缓存项的...
通过以上介绍,我们对Oscache有了全面的认识。在实际项目中,正确配置和使用Oscache能有效提升系统的性能和用户体验。然而,缓存并非万能,需要根据具体应用场景权衡利弊,结合数据库和其他优化手段,共同打造高效的...
以上就是OSCache缓存技术的基本介绍,通过理解并熟练掌握OSCache,开发者能够有效地提升应用性能,降低数据库压力,为用户带来更流畅的体验。在实践中,还需要根据具体项目需求进行优化和调整,以达到最佳的缓存效果...
本实例将介绍如何结合Hibernate和OSCache实现二级缓存,以优化应用程序的性能。 一级缓存是Hibernate内置的Session级别的缓存,它存储了在同一个Session内操作的对象,避免了频繁的数据库读写。然而,一级缓存仅...
在介绍 OSCache 的详细知识之前,我们先来看一下 `oscache.properties` 文件,这是 OS Cache 配置的核心部分。 `oscache.properties` 文件是 OSCache 的配置文件,它定义了缓存的行为、策略以及各种参数。以下是...
Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善...本文中作者给大家介绍一个实现J2EE框架中Web应用层缓存功能的开放源代码项目----OSCache。
本篇文章将详细介绍OSCache的基本概念、配置与使用方法。 **1. OSCache简介** OSCache是由OpenSymphony开发的一个高性能、轻量级的缓存解决方案。它支持本地缓存和分布式缓存,可集成到多种应用服务器中,如Tomcat...
本篇将详细介绍OSCache的基本配置、文档资料、示例应用以及如何使用JAR包。 ### 一、OSCache配置 OSCache的配置主要通过XML文件进行,一般情况下,这个文件被称为`oscache.xml`。配置文件包括了缓存管理、缓存策略...
通过以上介绍,我们可以看到osCache作为一个强大的缓存解决方案,对于提升Java应用性能具有显著作用。理解并熟练掌握osCache的使用,可以帮助开发人员更有效地管理和优化应用程序的内存资源,提高系统运行效率。
- readme.txt:这是一个标准的文档,通常包含关于包的简短介绍、安装指南、版本信息或注意事项。 - etc:可能包含OSCache的配置文件,如oscache.properties,用于定制缓存的行为,如缓存大小、过期策略等。 - ...
本文将详细介绍如何利用OSCache来优化J2EE系统的性能,并探讨其在处理特定动态内容方面的优势。 #### 需要处理的特殊动态内容 在信息系统开发过程中,经常遇到以下两种需要特别关注的动态内容: 1. **基础数据的...
以下将详细介绍OSCache的几个关键知识点: 1. **配置OSCache**: 配置OSCache主要涉及XML配置文件,包括定义缓存名称、大小、过期策略等。例如,你可以指定一个缓存最多存储多少个对象,或者设置对象在缓存中存活的...
下面将详细介绍这三个概念及其相互间的关联。 首先,`osCache`是开源的Java缓存框架,它用于提高Web应用程序的性能和响应速度。osCache支持对象缓存,可以存储在内存或硬盘上,减少对数据库的访问,从而降低服务器...
在本篇文章中,我们将详细介绍OSCache框架的基本原理、配置方法以及如何在JSP页面中实现缓存功能,同时也会探讨OSCache与Struts2框架结合使用的具体实践。 #### 一、OSCache简介 OSCache是OpenSymphony组织开发的...