`
marshal
  • 浏览: 296651 次
社区版块
存档分类
最新评论

使用OSCache

阅读更多

简介


OSCache是缓存工具。

网址:www.opensymphony.com/oscache/

由一组类和JSP标签库组成。

可细粒度的动态缓存JSP内容,Servlet响应或者任意对象。

可使用内存,或者持久化到硬盘缓存,并能为网站提供容错支持(比如数据库关闭了,网站使用缓存的内容,用户仍可访问网站内容)。

可用于
  • 缓存动态内容:网站为每个请求执行生成动态内容,但是有时内容对所有请求都没有变化。不过又不能缓存整个页面,因为部分内容可能在每个请求都发生变化。OSCache可缓存JSP页面片段。
  • 缓存二进制内容:生成图片和PDF很消耗服务器资源。OSCache实现的Servlet2.3的CachingFilter,缓存URI的响应内容。
  •  容错支持:当某个页面程序出现故障,因为用户访问的是缓存,因此有容错功能
特性列表:
  • 缓存任意对象:和HTTP请求,JSP无关,缓存java任何对象;
  • 全面的API:对OSCache的所有特性,都能通过API编程控制;
  • 持久化的缓存:缓存可选保存到磁盘,使缓存在系统重启后依然有效;
  • 集群:不需要修改代码,支持缓存的集群,并使用单一的配置参数;
  • 缓存实体的过期支持:提供很多控制功能,用于处理缓存内容的过期,如果默认过期功能不能满足要求,也可自定义RefreshPolicies。

安装

  • 下载并解压缩分发包,当前版本2.4.1,下载地址:http://www.opensymphony.com/oscache/download.action
  • 将oscache.jar加入到/WEB-INF/lib
  • 确保commons-logging.jar在/WEB-INF/lib
  • 设置oscache.properties,并保存到/WEB-INF/classes,可选

使用OSCache

缓存完整的网站页面

简介

OSCache使用Servlet API中的Filter透明缓存网站的页面和二进制内容(比如动态生成的图片)。

OSCache通过CacheFilter的配置文件缓存servlet的response对象。

OSCache只缓存HTTP200 OK的HTTP响应,也就是说,不会缓存报错。

配置示例

创建web项目。

编写test.jsp文件,任意内容。

加入安装一节提到的类库。

在web.xml文件中加入:

 
  1. <filter>  
  2.         <filter-name>CacheFilter</filter-name>  
  3.         <filter-class>  
  4.                 com.opensymphony.oscache.web.filter.CacheFilter  
  5.         </filter-class>  
  6. </filter>  
  7.   
  8. <filter-mapping>  
  9.         <filter-name>CacheFilter</filter-name>  
  10.         <url-pattern>*.jsp</url-pattern>  
  11. </filter-mapping>  

这样将针对url结尾是jsp的响应缓存。

可使用的其他参数,见oscache分发包中的文档。

缓存页面中部分内容


用于缓存页面部分内容。

创建JSP文件。

在页面中导入OSCache的标签:

 
  1. <%@ taglib uri="http://www.opensymphony.com/oscache" prefix="cache" %>  

在页面中编写一个需要缓存的内容:

  1. <h1>测试</h1>  
  2. <cache:cache>  
  3. OSCache缓存的内容。  
  4. </cache:cache>  

持久化缓存内容


就是将缓存内容保存到磁盘中。

可自定义配置文件,覆盖默认的配置文件,配置文件需要放置在classpath下,名称为:oscache.properties

使用磁盘做缓存的配置文件示例:

 
  1. cache.memory=false  
  2. cache.path=c:\\oscache  
  3. cache.capacity=1000  
  4. cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener  

重启tomcat,日志提示创建缓存目录。

访问上面示例的页面,缓存内容被记录到缓存目录中。
分享到:
评论
2 楼 anmijay 2011-06-14  
受益匪浅。终于知道为什么没有创建磁盘缓存目录了。原来是没有打开cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener  

1 楼 gongmingwind 2009-03-16  
写的不错啊!呵呵,继续努力

相关推荐

    Oscache使用教程

    **Oscache使用教程** Oscache是一款开源的Java缓存解决方案,主要用于提高Web应用程序的性能,通过在内存中存储经常访问的数据,避免了频繁的数据库查询,从而减少了系统响应时间。本文将深入探讨Oscache的基本原理...

    OsCache缓存框架使用示例

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

    oscache,缓存机制的使用

    标题与描述概述的知识点主要集中在oscache的使用及其在Java环境下的配置与实施。oscache是一种缓存机制,主要用于提高Web应用的响应速度和优化系统性能。以下是对这些知识点的详细解析: ### oscache简介 oscache...

    OSCache需要的包

    在这个特定的案例中,`oscache.tld` 提供了关于OSCache JSP标签的元数据,如标签的名称、属性、行为等,使得开发者能够在JSP页面上方便地使用OSCache提供的缓存功能。 `oscache.properties` 是OSCache的配置文件,...

    OSCache学习例子 实例

    在这个"OSCache学习例子 实例"中,我们将深入探讨如何在J2EE环境中集成并使用OSCache。 首先,理解OSCache的基本概念至关重要。OSCache的核心功能是提供内存中的对象缓存,它支持两种主要的缓存模式:本地缓存和...

    oscache缓存配置

    在Java项目中,通常将其添加到项目的类路径(classpath)中,以便程序能够找到并使用osCache的相关类。 接着,我们需要配置osCache的行为,这通常通过oscache.properties文件实现。这个文件定义了缓存的各种参数,...

    教你如何用好oscache的详细文档

    在本文中,我们将深入探讨 osCache 的核心概念、使用场景以及如何在项目中有效地利用它。** ### 一、缓存的重要性 在Web应用中,缓存是一种常见的优化手段,它能够显著提升系统的响应速度,减轻数据库的压力。当...

    oscache-2.4.1-full

    - `readme.txt`:包含了关于如何安装、配置和使用OSCache的指南,以及可能的变更和注意事项。 - `www.pudn.com.txt`:可能是来源或者版权信息,也可能包含额外的说明或链接。 - `src`:源代码目录,对于开发者来...

    oscache-java缓存框架

    - **API集成**:使用osCache提供的API进行缓存的增删改查操作,如`CacheManager.getInstance().getCache("myCache")`获取缓存实例。 4. **使用教程** - **创建缓存**:定义一个缓存,例如`Cache cache = ...

    Oscache框架的搭建步骤

    6. **集成到JSP页面**:在JSP页面中引入Oscache标签库,使用`&lt;%@taglib uri="oscache" prefix="cache"%&gt;`声明,其中`uri`值应与`web.xml`中配置的`&lt;taglib-uri&gt;`一致。 7. **实现缓存逻辑**:在JSP页面中利用...

    oscache缓存使用总结.doc

    OSCache 是一个广泛使用的开源缓存解决方案,尤其在Java应用中,它被JBoss, Hibernate, Spring等知名框架所支持。其主要特点是配置简单,适用于页面级别的缓存管理。以下是对OSCache配置和使用过程的详细说明: 1. ...

    oscache详细配置文档

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

    oscache缓存技术

    - **清理缓存**:可以调用`OsCache.clear()`方法清空整个缓存,或者使用`OsCache.evict(key)`清除指定的缓存条目。 ### 4. osCache的高级特性 - **事件监听**:osCache允许注册监听器来处理缓存的添加、删除和更新...

    oscache-2.2jar包

    4. **docs**:文档目录,一般包含API文档、用户手册或者开发者指南,帮助开发者理解osCache的使用方法、API接口和最佳实践。 5. **src**:源代码目录,如果提供的话,可以查看osCache的内部实现,这对于学习和调试...

    oscache说明

    2. **部分页面缓存**:通过使用 OSCache 提供的 Taglib,可以在 JSP 页面中使用 `&lt;cache&gt;` 标签来缓存特定部分的内容。在 `web.xml` 中添加对 Taglib 的支持,然后在 JSP 页面中引入标签库,如 `...

    oscache对象缓存

    oscache,全称OpenSymphony OSCache,是一个广泛使用的开源Java对象缓存框架,它允许开发者将数据存储在内存中,以减少对数据库的访问,从而提升应用的响应速度。本文将深入探讨oscache的核心概念、工作原理以及如何...

    基于OSCache的页面缓存(收藏)

    要使用OSCache,我们需要在项目的类路径下引入OSCache的jar包,如`oscache.jar`。然后,在初始化阶段,通过配置文件(通常为`oscache.properties`)设置缓存的相关参数,如缓存大小、过期时间、是否启用持久化等。...

Global site tag (gtag.js) - Google Analytics