了解一下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)作缓存处理

oscache.properties文件配置

1、cache.memory 是否使用内存缓存;值为:true或false。默认为true;如设置为false,那cache只能缓存到数据库或硬盘中。 2、cache.capacity 缓存...
  • sd4015700
  • sd4015700
  • 2014年07月16日 11:24
  • 1241

java 缓存OSCache介绍

经常使用但不经常变化的数据可以进行缓存,通常需要缓存的是静态或者服务端数据。如今,对应用事务数据也有很高的要求,这些数据也需要加入缓存。作为一个简单的规则,在设计应用程序时经常需要识别这类实体并缓存到...
  • awe5566
  • awe5566
  • 2014年01月13日 23:22
  • 2191

OSCache 在java对象中使用

OSCache是一种缓存,在web页面上面设置很简单,这里就不多说了。首先把OScache.jar包引入你的程序里面。这里做了几个常用方法的封装: OSCache.javaimport java.ut...
  • weiyingyi0
  • weiyingyi0
  • 2006年06月07日 15:24
  • 3852

Java - 简述一下你了解的设计模式。

所谓设计模式,就是一套被反复使用的代码设计经验的总结(情境中一个问题经过证实的一个解决方案)。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简单方便的复用...
  • chimomo
  • chimomo
  • 2017年11月03日 10:03
  • 363

Java - 介绍一下你了解的Java领域的Web Service框架。

Java领域的Web Service框架很多,包括Axis2(Axis的升级版本)、Jersey(RESTful的Web Service框架)、CXF(XFire的延续版本)、Hessian、Turm...
  • chimomo
  • chimomo
  • 2017年11月06日 10:22
  • 185

用OSCache进行缓存对象

1、OSCache是什么?     OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性...
  • cping1982
  • cping1982
  • 2008年06月18日 23:17
  • 5670

OSCache页面缓存的基础入门

OSCache页面缓存 什么是OSCache? OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSC...
  • zymx14
  • zymx14
  • 2016年06月08日 00:19
  • 1177

Java开源缓存框架 oscache下载、介绍使用

一、 OSCache 下载地址: https://java.net/downloads/oscache/ 二、 1. 下载、解压缩OSCache  从http://www.opensympho...
  • Shan_mei
  • Shan_mei
  • 2015年01月30日 13:39
  • 1284

MyBatis3 配置OSCache

配置步骤很简单,大概分为: 1、
  • curiouslearnerdhh
  • curiouslearnerdhh
  • 2014年11月22日 11:00
  • 943

Oscache缓存总结

Oscache 一、基本概述 OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是个一个广泛采...
  • w13240362354
  • w13240362354
  • 2016年07月17日 20:08
  • 3643
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:了解一下java系统中的OSCache配置
举报原因:
原因补充:

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