blog.Toby

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  130 随笔 :: 2 文章 :: 150 评论 :: 0 Trackbacks

1 环境要求
        OSCache2.2要求JDK1.4和 Servlet 2.3。
2 安装
        (1)http://www.opensymphony.com/oscache/下载合适的OSCache版本,当前是oscache-2.0.2-full版本。
        (2)Zip文件解压缩到c:\oscache(后面的章节中将使用%OSCache_Home%来表示这个目录)目录下。
        (3)将主要组件%OSCache_Home%\oscache.jar文件放到  /WEB-INF/lib或相应类库目录中。jar文件名可能含有版本号和该版本的发布日期信息等,如oscache-2.2.jar。
        (4)引用包的处理:
            ①OSCache组件用Jakarta Commons Logging来处理日志信息,所以需要commons-logging.jar的支持,将commons-logging.jar放入classpath。
            ②如果使用JDK1.3,将commons-collections.jar放入classpath,如果使用JDK1.4或者以上版本则不必。
            ③如果需要集群缓存,把jgroups.jar放入classpath。


3 配置

3.1 缓存配置 
        src\webapp\WEB-INF\classes或etc目录取得oscache.properties文件,放在CLASSPATH下(src根目录或发布环境的/WEB-INF/classes  目录)。
        oscache.properties包含了对OSCache运行特征值的设置信息 ,其配置项如下:
 

配置项

含义

可选值

缺省值

cache.memory

是否进行内存缓存

truefalse

true

cache.capacity

内存缓存容纳的最大对象数

整数

不限制(指定负数也相当于不限制),也就是缓存的对象从不被清除

cache.algorithm

缺省的运算规则。要指定运算规则,就必须指定有效的cache.capacity值(正整数)。规则是一些类,在包com.opensymphony.oscache.base.algorithm

LRUCache(最近使用)、

FIFOCache(先进先出)、

UnlimitedCache(不限制)

不限制cache.capacity时为UnlimitedCache

If you specify a size but not an algorithm, the cache algorithm used will be LRUCache

cache.blocking

当缓存中的某条数据更新时(比如与数据库不同步,存在不新鲜的数据),对客户请求返回更新前的数据。这样就提供了更好的性能。

truefalse

false

cache.unlimited.disk

硬盘缓存是否有限制。缺省为cache.capacity指定的值

truefalse

false

cache.persistence.class

做持久化操作的类名。这个类必须实现PersistenceListener接口,从而将缓存数据持久化到文件、数据库、LDAPOSCache给出一个基于文件系统的实现,并且使用对象的toString()方法生成要持久化数据的文件名。HashDiskPersistenceListener DiskPersistenceListener要求必须同时设置cache.path属性。

com.opensymphony

.oscache.plugins

.diskpersistence

.DiskPersistenceListener 

 

cache.path

硬盘持久化时存放文件的目录。如果目录不存在OSCache会自动创建。

Windows系统:

c:\\myapp\\cache

其它:

/opt/myapp/cache

 

cache.persistence.overflow.only*

是否只有当指定的内存缓存已经满时才进行持久化。推荐使用trueflase是为向后兼容。

truefalse

false

cache.event.listeners

一系列用逗号分割的类,这些类必须实现CacheEntryEventListener或(和)CacheMapAccessEventListener接口,CacheEntryEventListener监听缓存的add/update/flush/remove事件,CacheMapAccessEventListener监听缓存的access事件,从而可以跟踪并统计缓存的执行效率。

JavaDoc API for further details.

 

 

cache.key

指定在applicationsession范围里缓存的对象的key,这个keyServletCacheAdministrator(由此自定义的tags)使用。

 

__oscache_cache

cache.use.host.domain.in.key

If your server is configured with multiple hosts, you may wish to add host name information to automatically generated cache keys. If so, set this property to true

truefalse

false

cache.cluster.multicast.ip

见集群的相关说明

 

 

cache.cluster.properties

见集群的相关说明

 

 


        注:*从2.1版本开始出现的属性

3.2 日志配置

        log4j.properties文件内容为:

log4j.rootLogger=DEBUG,stdout,file

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[start]%d{yyyy/MM/dd/ HH:mm:ss}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=oscache.log
log4j.appender.file.MaxFileSize=100KB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[start]%d{yyyy/MM/dd/ HH:mm:ss}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n

log4j.logger.org.apache.commons=ERROR
log4j.logger.com.opensymphony.oscache.base=INFO

commons-logging.properties 文件内容为
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog

 

posted on 2006-01-12 16:52 渠上月 阅读(2358) 评论(1)  编辑  收藏 所属分类: java tips

评论

# re: OScache的安装与配置 2007-04-29 13:30 piper
博主,
你好,你的文章写的不错,最近我也在使用oscache,能不能再进一步写一些有关的文章,关于新版本2.3.1的新功能之类的,或者高级应用比如集群中,或者oacache的原理和剖析之类的,呵呵,主要是看博主的时间了。
我的msn
sardingking@hotmail.com  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: