`
crazier9527
  • 浏览: 1005050 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OSCache介绍(2)

阅读更多

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)作缓存处理

分享到:
评论

相关推荐

    oscache-2.1.1-full.zip_full_oscache_oscache 2_oscache2

    2. **Map接口支持**: osCache 提供了与Java `java.util.Map`接口类似的API,开发者可以方便地进行添加、删除、更新和查询操作,降低了学习成本。 3. **集群支持**: 一个显著的特点是其内嵌的集群支持。osCache允许...

    OSCache配置说明文档

    本文档详细介绍了OSCache的配置与使用,旨在为开发者提供一份全面的参考指南。OSCache是由OpenSymphony开发的开源缓存框架,它为J2EE应用程序提供了高效、灵活的缓存解决方案。 文档介绍 文档目的: 本文档的主要...

    oscache详细配置文档

    本文将详细介绍 OSCache 的配置和使用方法。 **一、缓存整个页面** OSCache 提供了一个名为 `CacheFilter` 的过滤器,该过滤器用于实现页面级别的缓存。通过在 `web.xml` 文件中配置,我们可以指定哪些页面或一组...

    oscache-java缓存框架

    2. **osCache的核心功能** - **对象缓存**:osCache允许开发者将Java对象直接放入缓存,便于快速检索。 - **内存管理**:自动管理内存,当内存不足时,可基于LRU(Least Recently Used)策略进行对象的淘汰。 - *...

    OsCache缓存框架使用示例

    本示例将通过一个天气预报Web服务的场景,详细介绍OsCache的使用方法。 首先,我们需要了解OsCache的基本概念。OsCache的核心是基于哈希表的数据结构,它可以在内存中存储对象,支持自动过期策略,可以设置缓存项的...

    Oscache使用教程

    通过以上介绍,我们对Oscache有了全面的认识。在实际项目中,正确配置和使用Oscache能有效提升系统的性能和用户体验。然而,缓存并非万能,需要根据具体应用场景权衡利弊,结合数据库和其他优化手段,共同打造高效的...

    OSCache缓存技术(6)【实例】

    以上就是OSCache缓存技术的基本介绍,通过理解并熟练掌握OSCache,开发者能够有效地提升应用性能,降低数据库压力,为用户带来更流畅的体验。在实践中,还需要根据具体项目需求进行优化和调整,以达到最佳的缓存效果...

    hibernate+oscache实现二级缓存实例

    本实例将介绍如何结合Hibernate和OSCache实现二级缓存,以优化应用程序的性能。 一级缓存是Hibernate内置的Session级别的缓存,它存储了在同一个Session内操作的对象,避免了频繁的数据库读写。然而,一级缓存仅...

    OSCache简介

    在介绍 OSCache 的详细知识之前,我们先来看一下 `oscache.properties` 文件,这是 OS Cache 配置的核心部分。 `oscache.properties` 文件是 OSCache 的配置文件,它定义了缓存的行为、策略以及各种参数。以下是...

    oscache 资料文件

    Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善...本文中作者给大家介绍一个实现J2EE框架中Web应用层缓存功能的开放源代码项目----OSCache。

    OSCache缓存框架的简单用法

    本篇文章将详细介绍OSCache的基本概念、配置与使用方法。 **1. OSCache简介** OSCache是由OpenSymphony开发的一个高性能、轻量级的缓存解决方案。它支持本地缓存和分布式缓存,可集成到多种应用服务器中,如Tomcat...

    OSCACHE配置,文档,示例,JAR包

    本篇将详细介绍OSCache的基本配置、文档资料、示例应用以及如何使用JAR包。 ### 一、OSCache配置 OSCache的配置主要通过XML文件进行,一般情况下,这个文件被称为`oscache.xml`。配置文件包括了缓存管理、缓存策略...

    osCache,缓存

    通过以上介绍,我们可以看到osCache作为一个强大的缓存解决方案,对于提升Java应用性能具有显著作用。理解并熟练掌握osCache的使用,可以帮助开发人员更有效地管理和优化应用程序的内存资源,提高系统运行效率。

    一个OSCache缓存技术的关键zip包

    - readme.txt:这是一个标准的文档,通常包含关于包的简短介绍、安装指南、版本信息或注意事项。 - etc:可能包含OSCache的配置文件,如oscache.properties,用于定制缓存的行为,如缓存大小、过期策略等。 - ...

    应用OSCache提升J2EE系统运行性能

    本文将详细介绍如何利用OSCache来优化J2EE系统的性能,并探讨其在处理特定动态内容方面的优势。 #### 需要处理的特殊动态内容 在信息系统开发过程中,经常遇到以下两种需要特别关注的动态内容: 1. **基础数据的...

    应用OSCache提升J2EE系统.pdf

    以下将详细介绍OSCache的几个关键知识点: 1. **配置OSCache**: 配置OSCache主要涉及XML配置文件,包括定义缓存名称、大小、过期策略等。例如,你可以指定一个缓存最多存储多少个对象,或者设置对象在缓存中存活的...

    oscache+ssi+velocity

    下面将详细介绍这三个概念及其相互间的关联。 首先,`osCache`是开源的Java缓存框架,它用于提高Web应用程序的性能和响应速度。osCache支持对象缓存,可以存储在内存或硬盘上,减少对数据库的访问,从而降低服务器...

    OSCache学习心得

    在本篇文章中,我们将详细介绍OSCache框架的基本原理、配置方法以及如何在JSP页面中实现缓存功能,同时也会探讨OSCache与Struts2框架结合使用的具体实践。 #### 一、OSCache简介 OSCache是OpenSymphony组织开发的...

Global site tag (gtag.js) - Google Analytics