OSCache是当前运用最广的缓存方案,

JBoss

Hibernate

Spring

等都对其有支持,下面简单介绍一下OSCache的配置和使用过程。



1.安装过程

http://www.opensymphony.com/oscache/download.html下载合适的OSCache版本,我下载的是oscache-2.3.1版本。解压缩下载的文件到指定目录,从解压缩目录取得oscache-2.3.1.jar文件放到
/WEB-INF/lib 或相应类库目录 ,从src或etc目录取得oscache.properties 文件,放入src根目录或发布环境的/WEB-INF/classes 目录,



如你需要建立磁盘缓存,须修改oscache.properties 中的cache.path信息 (去掉前面的#注释)。

win类路径类似为c://app//cache

unix类路径类似为/opt/myapp/cache

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>


<!--自动刷新-->


">

每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

"
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>


</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的页面请求,即只对无错误请求作缓存,

)作缓存处理

OSCache使用指南的更多相关文章

  1. javaWeb Cache技术――OSCache(转-全)

    什么是osCache? 它是:http://baike.baidu.com/view/1835163.htm?fr=aladdin OSCache使用指南 一.下载安装 OSCache是一个基于web ...

  2. Cache技术――OSCache(转-全)

    OSCache使用指南 一.下载安装 OSCache是一个基于web应用的组件,他的安装工作主要是对web应用进行配置,大概的步骤如下: 1. 下载.解压缩OSCache 从http://www.op ...

  3. Cache技术―OSCache

    Cache技术―OSCache 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://aumy2008.blogbus.com/logs/36462938.html 一.简介 ...

  4. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  5. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

  6. JavaScript权威指南 - 对象

    JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...

  7. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  8. const extern static 终极指南

    const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的.本文将对此做出非常详细的讲解. co ...

  9. Atitit.研发管理软件公司的软资产列表指南

    Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...

随机推荐

  1. 吴裕雄--天生自然 PHP开发学习:面向对象

    <?php class Site { /* 成员变量 */ var $url; var $title; /* 成员函数 */ function setUrl($par){ $this->u ...

  2. ZJNU 2201 - 挖矿谷物语

    在dfs过程中加上栈记录当次dfs走过的路径 如果当次dfs到了一个之前的dfs已经经过的点 又因为只对没有访问过的点开始dfs 所以这种情况就说明接下来不可能返回到当次dfs开始的点 将栈内元素取出 ...

  3. js分页的一些思考

    一两年之前在写java的时候,分页的逻辑是写在后端的,用java去实现,jsp是动态展示页码和数据.但是对于一个用ajax加载的分页数据来说,分页的逻辑必须也在前端完成,那么就不得不去思考一下在js里 ...

  4. QMessageBox按钮自定义文字

    msgbox = QMessageBox()msgbox.setStandardButtons(QMessageBox.Yes|QMessageBox.No)msgbox.button(QMessag ...

  5. 吴裕雄--天生自然 pythonTensorFlow自然语言处理:PTB 语言模型

    import numpy as np import tensorflow as tf # 1.设置参数. TRAIN_DATA = "F:\TensorFlowGoogle\\201806- ...

  6. E. Arson In Berland Forest(思维,找二维阵列中的矩阵,二分)

    题:https://codeforces.com/contest/1262/problem/E 分析:预处理出阵列中的矩阵,然后二分答案还原题目的烧火过程,判断是否满足要求 #include<b ...

  7. MFC的程序,不想显示窗口,任务栏里也不显示

    在dialog的oninitdialog里设置如下属性,很简单,网上一些乱七八糟的做法,一行代码就能搞定啊 SetWindowPos(&CWnd::wndNoTopMost,0,0,0,0,S ...

  8. MFC修改系统托盘的图标

    最近开始学习MFC,发现程序在任务栏,窗口和exe都使用的默认图标,那么,我们想使用自己的图标该如何做? 第一种方法: 1.我们将自己要使用的icon的图标导入项目中. 资源视图-->xx.rc ...

  9. FastJson禁用循环引用检测

    我们先来看一个例子: package com.elong.bms; import java.io.OutputStream; import java.util.HashMap; import java ...

  10. iTOP-4412开发板qt4文件的移植和修改

    在 7.4 小节介绍配置文件的时候,提到迅为制作的触摸库文件“/usr/local/tslib”,迅为 已经将触摸功能编译到 Qt/E4.7.1 的库文件中,开发板可以支持触摸和鼠标功能. 用户在前面 ...