Posted on 2006-04-07 10:24
砖头 阅读(320)
评论(0) 编辑 收藏 所属分类:
oscache
OSCache 是OpenSymphony组织提供的一种WEB应用层的缓存组件。OSCache提供了内存和磁盘的两种缓存存储机制,并且提供了集群机制。与JSP2.0自带的Cache标签相比,Oscache显得功能更加灵活,强大,比如硬盘缓存,以及在下面将会提到的cron表达式定制复杂而灵活的缓存失效时间等。
首先,在TOMCAT发布一个名为test的应用,然后在http://www.opensymphony.com/oscache/download.html下载最新版本的OSCache。我下载的是oscache-2.1-full.zip。解压此文件把oscache-2.1.jar以及lib/core目录下的commons-collections-3.1.jar和commons-logging.jar文件拷贝到test应用的WEB-INF/LIB目录下。把etc/scache.properties和oscache.tld拷贝到test应用的WEB-INF/CLASSES目录下。
修改web.xml文件,加入
现在我们就可以使用OSCache了。
一、几个在JSP中的基本用法
二、Cron表达式基本语法
通过Cron表达式我们可以很灵活的设置缓存的失效时间,Cron表达式包括5个字段分别为Minute,Hour, DOM(Day Of Month), Month,DOW(Day Of Week)。他们顺序地对应了5个位置。当某个位置上的值为*时,表示该位置上的任意时间。另外还提供了指定时间的操作符号"-",",","/",他们分别表示一段时间范围,具体的时间,以及递增的时间段。下面是几个例子说明一下Cron表达式的基本应用,有兴趣的也可以查看下OScache的doc文档。
"10/20 * * * *" :因是第一个位置,并且是一个递增的表达式,所以表达式指定的是每个小时的第10分钟,第30分钟,第50分钟缓存内容失效。
"* 8-18/4 * * *" :指定每天早上8点到晚上6点之间,每4个小时缓存内容失效。 等同于"* 8,12,16 * * *"
"* * * * 1-5":表示每个星期一到星期五内容失效。
三、CashFilter的使用
CashFilter是通过过滤器来缓存一个完整的JSP页面或者我们生成的二进制文件,包括生成的图片,EXCEL,WORLD,PDF等。
注意:只有返回http头信息中代码为200(即成功状态)的才能被缓存。
四、oscache.properties文件的配置
cache.memory 指定是否使用内存缓存(默认为使用)
cache.persistence.class 当使用磁盘方式或数据库等其他方式缓存时指定
cache.path 当使用磁盘缓存时,须指定
cache.capacity 缓存大小
cache.unlimited.disk 对于磁盘缓存是否限制大小