Author: 江南白衣
基础读物 : 应用OSCache提升J2EE系统运行性能 (如果链接失效请按文章名google)
因为Web应用多数使用MVC架构, 最需要避免的数据库操作一般由Controller 调用 DAO完成,如果只是缓存View层内容意义不大。
因此,SpringSide中所Demo的方式是把 “最佳销量图书”以数据区块形式,从首页bookstore.do 中独立出来,再以include的方式嵌入到index.jsp中,让 OSCache对整个topSeller.do进行缓存。
这种情况下,可以用JSP Cache taglib 缓存 include语句,也可以用Cache Filter缓存topSeller.do,推荐第一种。
<oscache:cache key="topSellers" time="300">taglbi参数中唯一值得留意的是key属性,如果key="abc",则整个系统里key="abc"都会显示同样的内容,所以需谨慎选择,小心冲突。
<jsp:includepage="/home.do?action=topSellers"/>
</oscache:cache>
如果不设key,则会自动以当前URL为key,如果一页里有缓存多个区块的,还会加上序号。注意这时候,又要避免URL中一些无谓的参数影响cache的效果,可能需要手工以主URL及有用的参数来设定key。
如果生成的 execl, 图片等,不需要经常更新的,可以在URL级进行缓存,可以大大减低系统负荷。
在SpringSide中暂无这样的例子。可能要等报表系统出来以后再加上去。
OSCache还支持Cron语法的刷新时间配置。
Cron表达式的基本语法(转)
Cron表达式包括5个字段分别为Minute,Hour,DOM(Day Of Month),Month,DOW(Day Of
Week)。
他们顺序地对应了5个位置。当某个位置上的值为*时,表示该位置上的任意时间。
另外还提供了指定时间的操作符号"-",",","/",他们分别表示一段时间范围,具体的时间,以及递增的时间段。
下面是几个例子说明一下Cron表达式的基本应用,有兴趣的也可以查看下OSCache的文档。