Posted on 2006-04-07 10:24 
砖头 阅读(342) 
评论(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  对于磁盘缓存是否限制大小