第二部分:
OSCache
使用指南
一、下载安装
OSCache
是一个基于
web
应用的组件,他的安装工作主要是对
web
应用进行配置,大概的步骤如下:
1.
下载、解压缩
OSCache
从
http://www.opensym
phony.com/oscache/download.html
下载合适的
OSCache
版本,
解压缩下载的文件到指定目录
。
2
、新建立一个
web
应用
3
、将
OSCache
集成到
web
项目当中。
(
1
)从解压缩目录取得
oscache.jar
文件放到
/WEB-INF/lib
或相应类库目录中,
jar
文件名可能含有版本号和该版本的发布日期信息等。
(
2
)将
oscache.properties
、
oscache.tld
放入
WEB-INF\class
目录(确切说是放在项目的
src
目录下,编译的时候会自动生成在
WEB-INF\class
目录)。
(
3
)配置项目对应的
oscache.properties
参数信息。
(
4
)具体使用
A
、缓存对象:直接调用
API
的接口即可(详见
[Java]用
OSCache进行缓存对象
)
B
、部分页面缓存:使用
OSCache
提供的
taglib
(
修改
web.xml
文件,在
web.xml
文件中增加下面的内容,增加对
OSCache
提供的
taglib
的支持:
<taglib>
<taglib-uri>oscache</taglib-uri>
<taglib-location>/WEB-INF/classes/
oscache.tld</taglib-location></taglib>
或者在
jsp
页面使用以下标签
<%@
taglib
uri
=
"/WEB-INF/classes/oscache.tld"
prefix
=
"cache"
%>
)
C
、整个页面的缓存:用
CashFilter
实现页面级缓存,可缓存单个文件、缓存
URL pattern
和自己设定缓存属性的缓存。
<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>600</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>
<!-对所有jsp页面内容进行缓存-->
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
[
注
]
只有客户访问时返回
http
头信息中代码为
200
(也就是访问已经成功)的页面信息才能够被缓存
4
、配置日志输出信息。
二、
oscache.properties
文件配置向导
oscache.properties
中的配置项详解
:
1
、
cache.memory
:
是否使用内存缓存
; true
或
false
。默认为
true;
如设置为
false
,那
cache
只能缓存到数据库或硬盘中。
2
、
cache.capacity
缓存的最大数量。默认是不限制,
cache
不会移走任何缓存内容。负数被视不限制。
3
、
cache.algorithm
运算规则。为了使用规则,
cache
的
size
必须是指定的。
如果
cache
的
size
不指定的话
,
将不会限制缓存对象的大小。如果指定了
cache
的
size
,但不指定
algorithm
,那它会默认使用
:com.opensymphony.oscache.base.algorithm.LRUCache
有下面三种规则:
*com.opensymphony.oscache.base.algorithm.LRUCache:
last in first out(
最后插入的最先调用
)
。默认选项。
*com.opensymphony.oscache.base.algorithm.FIFOCache:
first int first out(
最先插入的最先调用
)
。
*com.opensymphony.oscache.base.algorithm.UnlimitedCache :
cache
中的内容将永远不会被丢弃。
如果
cache.capacity
不指定值的话,它将被设为默认选项。
4
、
cache.blocking
是否同步。
true
或者
false
。一般设为
true
,避免读取脏数据。
5
、
cache.unlimited.disk
指定硬盘缓存是否要作限制。默认值为
false
。
false
的状况下,
disk cache capacity
和
cache.capacity
的值相同。
6
、
cache.persistence.class
指定类是被持久化缓存的类。
class
必须实现
PersistenceListener
接口。
作为硬盘持久,可以实现
com.opensymphony.oscache.plugins.diskpersistence.HashDiskPersistenceListener
接口。
它把
class
的
toString()
输出的
hash
值作为文件的名称。如果你要想文件名易读些(自己设定),
DiskPersistenceListener
的父类也能使用,但其可能有非法字符或者过长的名字。
注意:
HashDiskPersistenceListener
和
DiskPersistenceListener
需要设定硬盘路径:
cache.path
7
、
cache.path
指定硬盘缓存的路径。目录如果不存在将被建立。同时注意
oscache
应该要有权限写文件系统。
例
:
cache.path=c:\\myapp\\cache
cache.path=/opt/myapp/cache
8
、
cache.persistence.overflow.only (NEW! Since 2.1)
指定是否只有在内存不足的情况下才使用硬盘缓存。
默认值
false
。但推荐是
true
如果内存
cache
被允许的话。这个属性彻底的改变了
cache
的行为,使得
persisted cache
和
memory
是完全不同。
9
、
cache.event.listeners
class
名列表
(
用逗号隔开
)
。每个
class
必须实现以下接口中的一个
或者几个
CacheEntryEventListener
:接收
cache add/update/flush and remove
事件
CacheMapAccessEventListener
:接收
cache
访问事件。这个可以让你跟踪
cache
怎么工作。
默认是不配置任何
class
的。当然你可以使用一下的
class
:
*com.opensymphony.oscache.plugins.clustersupport.BroadcastingCacheEventListener :
分布式的监听器。可以广播到局域网内的其他
cache
实例。
* com.opensymphony.oscache.extra.CacheEntryEventListenerImpl :
一个简单的监听器。在
cache
的生命周期中记录所有
entry
的事件。
* com.opensymphony.oscache.extra.CacheMapAccessEventListenerImpl :
记录
count of cache map events
(
cache hits
,
misses and state hits
)
.
10
、
cache.key
在
application
和
session
的作用域时
用于标识
cache
对象的
,
用于
ServletCacheAdministrator;
此属性不是指定为
"__oscache_cache"
格式时为默认值
,
如果代码中需要用到默认值时可以通使用
com.opensymphony.oscache.base.Const.DEFAULT_CACHE_KEY
来取得
;
11
、
cache.use.host.domain.in.key
当配置多个
服务器
时
,
想通过服备器名称自动生成
cache key
时
,
可将此属性设为
true.
默认值为
false;
12
、
Additional Properties
在以上基础选项之上可以加入一些额外的属性到此文件中
.
例
:
Java
GroupsBroadcastingListener
便是额外的
.
13
、
cache.cluster.multicast.ip
用于缓存集群
.
默认为
231.12.21.132
14
、
cache.cluster.properties
指集群中的额外配置项
.
以下是默认设置
:(
此属性的相关说将在集群文档中说明
)
UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32;\
mcast_send_buf_size=150000;mcast_recv_buf_size=80000):\
PING
(timeout=2000;num_initial_members=3):\
MERGE2(min_interval=5000;max_interval=10000):\
FD_SOCK:VERIFY_SUSPECT(timeout=1500):\
pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;max_xmit_size=8192):\
UNICAST(timeout=300,600,1200,2400):\
pbcast.STABLE(desired_avg_gossip=20000):\
FRAG(frag_size=8096;down_thread=false;up_thread=false):\
pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true)
分享到:
相关推荐
Cache技术--OSCache JAVA开发者必须研究的cache的架构
oscache缓存技术入门实例
二级缓存插件OScache配置,很好的学习资料
oscache.tld oscache.tld oscache.tld
oscache缓存技术,压缩包中有详细代码及步骤
描述了oscahce在JAVA开发中的应用和配置说明
Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能。 OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在...
oscache的简单介绍
缓存技术 oscache-2.3.2.jar包下载
javaweb做页面缓存常用,OSCache是一个工业级的J2EE缓存实现。OSCache不但能缓存java对象,还可以缓存页面,http请求和二进制内容,...通过应用OSCache,我们不但可以实现通常的Cache功能,还能够改善系统的稳定性。
Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能。 OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在...
oscache.properties 博文链接:https://xdjava.iteye.com/blog/1040936
oscache-2.1.jar oscache-2.1.jar
Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能。 OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在...
OSCache由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决...
OSCache学习例子 实例 很好的与j2ee结合
1、OSCache是什么? 2、OSCache的特点 3、有关“用OSCache进行缓存对象”的研究
OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的...
OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存...
使用oscache进行缓存,大大提高web系统运行效率