第二部分:
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)
分享到:
相关推荐
### 二、OSCache的特点与主要特征 1. **缓存任何对象**:OSCache支持缓存任何形式的Java对象,包括部分JSP页面和HTTP请求。 2. **全面API**:丰富的API接口允许开发者通过编程方式控制缓存的全部功能。 3. **永久...
二、osCache工作原理 1. 数据存储:osCache将数据存储在内存中的缓存区域,这些区域可以被细分为多个缓存,每个缓存有自己的设置和生命周期管理。 2. 过期策略:osCache支持时间基、引用计数和LRU(Least Recently...
在 `web.xml` 中添加对 Taglib 的支持,然后在 JSP 页面中引入标签库,如 `<%@ taglib uri="/WEB-INF/classes/oscache.tld" prefix="cache"%>`。 3. **整个页面的缓存**:通过实现 `CacheFilter`,可以对整个页面或...
OSCache是开源的Java缓存解决方案,主要用于提高Web应用程序的性能和响应速度。它是由OpenSymphony团队开发的,能够缓存对象、SQL查询...在实践中,还可以考虑与其他技术,如Hibernate的二级缓存集成,进一步提升性能。
**osCache缓存技术详解** osCache是一款广泛应用于Java应用程序中的开源缓存解决方案,由OpenSymphony团队开发。它提供了一种高效、可扩展的方式来管理应用程序中的数据缓存,从而提高系统的性能和响应速度。...
以上就是OSCache缓存技术的基本介绍,通过理解并熟练掌握OSCache,开发者能够有效地提升应用性能,降低数据库压力,为用户带来更流畅的体验。在实践中,还需要根据具体项目需求进行优化和调整,以达到最佳的缓存效果...
为了提高系统性能,通常会采用缓存技术来减少对数据库的直接访问,而OSCache就是一种广泛使用的开源缓存解决方案。本实例将介绍如何结合Hibernate和OSCache实现二级缓存,以优化应用程序的性能。 一级缓存是...
oscache.tld oscache.tld oscache.tld
在介绍 OSCache 的详细知识之前,我们先来看一下 `oscache.properties` 文件,这是 OS Cache 配置的核心部分。 `oscache.properties` 文件是 OSCache 的配置文件,它定义了缓存的行为、策略以及各种参数。以下是...
6. **集成到JSP页面**:在JSP页面中引入Oscache标签库,使用`<%@taglib uri="oscache" prefix="cache"%>`声明,其中`uri`值应与`web.xml`中配置的`<taglib-uri>`一致。 7. **实现缓存逻辑**:在JSP页面中利用...
Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能。 OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在...
oscache.enable-cache-update-notification=true # 设置缓存的最大容量,当达到该值时,osCache会根据LRU(Least Recently Used)策略进行淘汰 oscache.max-element-count-in-cache=10000 # 配置缓存的序列化机制...
- **API集成**:使用osCache提供的API进行缓存的增删改查操作,如`CacheManager.getInstance().getCache("myCache")`获取缓存实例。 4. **使用教程** - **创建缓存**:定义一个缓存,例如`Cache cache = ...
缓存技术 oscache-2.3.2.jar包下载
javaweb做页面缓存常用,OSCache是一个工业级的J2EE缓存实现。OSCache不但能缓存java对象,还可以缓存页面,http请求和二进制内容,...通过应用OSCache,我们不但可以实现通常的Cache功能,还能够改善系统的稳定性。
例如,使用`CacheManager.getInstance().getCache("myCache")`获取名为“myCache”的缓存实例,然后进行对象的存取操作。 6. 使用示例 此处可给出具体的代码示例,展示如何创建、更新、查询和移除缓存项,以及如何...
**二、Oscache配置** 1. **引入依赖**:在项目中,你需要在构建文件(如Maven的pom.xml或Gradle的build.gradle)中添加Oscache的依赖。 2. **初始化配置**:在Java代码中,通过`org.oscache.core.CacheManager`...