了解一下java系统中的OSCache配置

转载 2012年02月21日 18:24:09

转载于:http://hi.baidu.com/wader2006/blog/item/0965a18bdc3d117e9f2fb435.html

 

 

最近一朋友说到系统的架构是Velocity+Hibernate,中间控制层是用servlet,其中用到了OSCache作为缓存系统!

现在我们来先了解一下OSChache的功能:

OSCache is a caching solution that includes a JSP tag library and set of classes to perform fine grained dynamic caching of JSP content, servlet responses or arbitrary objects. It provides both in memory and persistent on disk caches, and can allow your site to have graceful error tolerance (eg if an error occurs like your db goes down, you can serve the cached content so people can still surf the site almost without knowing). Take a look at the great features of OSCache.

features:

Fast in-memory caching/Persistent on-disk caching/Excellent Performance
Clustering support/Flexible Caching System/Simple JSP Tag Library
Caching Filter/Comprehensive API/Exception Handling/Cache Flushing
Portable caching/i18n Aware/Solid Reputation

现在来看看OSCache的配置过程:

http://www.opensymphony.com/oscache下载合适的OSCache版本;(oscache-2.3.2-full)

从解压缩目录取得oscache.jar 文件放到 /WEB-INF/lib 或相应类库目录中;

如果你的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信息 (去掉前面的#注释);

拷贝OSCache标签库文件oscache.tld到/WEB-INF/classes目录;

web.xml加入下列代码

     <taglib>
       <taglib-uri>oscache</taglib-uri>
       <taglib-location>/WEB-INF/classes/oscache.tld</taglib-location>
     </taglib>

oscache.properties 文件配置:

cache.memory:true 或 false ,默认为在内存中作缓存;

cache.capacity :缓存元素个数;

cache.persistence.class:持久化缓存类,如此类打开,则必须设置cache.path信息;

cache.cluster:集群设置信息;

cache.cluster.multicast.ip为广播IP地址;

cache.cluster.properties为集群属性;

OSCache的基本用法:(略)

======================cache1.jsp 内容如下=================
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.util.*" %>
<%@ taglib uri="oscache" prefix="cache" %>
<html>
<body>
没有缓存的日期: <%= new Date() %><p>
<!--自动刷新-->
<cache:cache time="30">
每30秒刷新缓存一次的日期: <%= new Date() %> <p>
</cache:cache>

<!--手动刷新-->
<cache:cache key="testcache">
手动刷新缓存的日期: <%= new Date() %> <p>
</cache:cache>
<a href="cache2.jsp">手动刷新</a>
</body>
</html>
=========================================================

====================cache2.jsp 执行手动刷新页面如下===========
<%@ page contentType="text/html;charset=GBK"%>
<%@ taglib uri="oscache" prefix="cache" %>

<html>
<body>缓存已刷新...<p>

<cache:flush key="testcache" scope="application"/>

<a href="cache1.jsp">返回</a>
</body>
</html>
==========================================================

缓存过滤器 CacheFilter:

在web.xml中定义缓存过滤器;参数如下:

     <filter>
       <filter-name>CacheFilter </filter-name>
       <display-name>CacheFilter </display-name>
       <description>CacheFilter </description>
       <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)作缓存处理

相关文章推荐

前2天后台系统需要生成报表,正好抽时间复习了一下之前做过的JAVA生成EXCEL,下面介绍POI 和JXL 生成报表的2种方式。

前2天后台系统需要生成报表,正好抽时间复习了一下之前做过的JAVA生成EXCEL,下面介绍POI 和JXL 生成报表的2种方式。 1.jxl 生成报表   Java代码   p...

java设计模式之外观模式(门面模式)   针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下。 一、概念介绍   外观模式(Facade),他隐藏了系统的复杂性,并

java设计模式之外观模式(门面模式)   针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下。 一、概念介绍   外观模式(Facade),他隐藏了系统的复杂...

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

  • 2011年11月07日 10:06
  • 6.58MB
  • 下载

为什么要使用缓存?用OSCache提升J2EE系统运行性能

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

Spring基于注解的缓存配置--EHCache AND OSCache

一.简介  在spring的modules包中提供对许多第三方缓存方案的支持,包括:  EHCache  OSCache(OpenSymphony)  JCS  GigaSpaces  JBoss C...

Spring 注解 EHCACHE OSCache 缓存配置

一.简介 在spring的modules包中提供对许多第三方缓存方案的支持,包括: EHCache OSCache(OpenSymphony) JCS GigaSpaces J...

SSH 框架下OSCache配置

今天在使用SSH框架下使用osCache,结果配置好了,出现了中文乱码,我认为我写的SSH框架应该不会出现乱码的低级出错吧!经过一番调试之后终于发现了问题。原来是web.xml中配置出现了问题。 o...

Spring基于注解的缓存配置--EHCache AND OSCache

一.简介 在spring的modules包中提供对许多第三方缓存方案的支持,包括: EHCache OSCache(OpenSymphony) JCS GigaSpaces J...

OSCache入门配置

OSCache是一个开放式资源缓冲库,可从http://www.opensymphony.com/oscache免费下载。我用的是2.41版,它包括一组JSP的标签,通过它们可以很容易的在你的程序中实...

高并发数据量在J2EE系统中应用OSCache

在J2EE系统中应用OSCache  文章摘要  Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能。本文中作...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:了解一下java系统中的OSCache配置
举报原因:
原因补充:

(最多只允许输入30个字)