安装
1. 点击http://www.opensymphony.com/中Downloads下的OSCache下载OSCache 2.4/中的oscache-2.4-full.zip并解压缩。
2. 建立一个java project将从解压缩目录中取得oscache-2.4.jar。从\lib中取得commons-logging.jar和jgroups-all.jar在网上下载log4j.jar放入Java Build Path .
3. 从\etc取得oscache.properties放入新建的java project的src中并在src目录键入下面两个日志配置文件:
log4j.properties和commons-logging.properties
log4j.properties:
# For JBoss: Avoid to setup Log4Joutside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Commentout the Log4J listener in web.xml to activate Log4J.
#log4j.rootLogger=INFO, stdout,logfile
log4j.rootLogger=INFO,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${tatan.root}/log/ebook.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=0
# Pattern to output: date priority[category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
# If programmed properly the mostmessages would be at DEBUG
# and the least at FATAL.
log4j.logger.com.tatan.dao.jdbc=DEBUG
log4j.logger.com.tatan.service.impl=DEBUG
commons-logging.properties:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
4. oscache.properties 文件配置向导
5.
配置项 | 含义 | 可选值 | 缺省值 |
是否进行内存缓存 | true、false | true | |
内存缓存容纳的最大对象数 | 整数 | 不限制(指定负数也相当于不限制),也就是缓存的对象从不被清除 | |
缺省的运算规则。要指定运算规则,就必须指定有效的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 | |
当缓存中的某条数据更新时(比如与数据库不同步,存在不新鲜的数据),对客户请求返回更新前的数据。这样就提供了更好的性能。 | true、false | false | |
硬盘缓存是否有限制。缺省为cache.capacity指定的值 | true、false | false | |
做持久化操作的类名。这个类必须实现PersistenceListener接口,从而将缓存数据持久化到文件、数据库、LDAP。OSCache给出一个基于文件系统的实现,并且使用对象的toString()方法生成要持久化数据的文件名。HashDiskPersistenceListener和 DiskPersistenceListener要求必须同时设置cache.path属性。 |
com.opensymphony .oscache.plugins .diskpersistence .DiskPersistenceListener |
| |
cache.path | 硬盘持久化时存放文件的目录。如果目录不存在OSCache会自动创建。 | Windows系统: 其它: /opt/myapp/cache |
|
是否只有当指定的内存缓存已经满时才进行持久化。推荐使用true,flase是为向后兼容。 | true、false | false | |
一系列用逗号分割的类,这些类必须实现CacheEntryEventListener或(和)CacheMapAccessEventListener接口,CacheEntryEventListener监听缓存的add/update/flush/remove事件,CacheMapAccessEventListener监听缓存的access事件,从而可以跟踪并统计缓存的执行效率。 JavaDoc API for further details. | |
| |
指定在application或session范围里缓存的对象的key,这个key被ServletCacheAdministrator(由此自定义的tags)使用。 | | __oscache_cache | |
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 | true、false | false | |
见集群的相关说明 | |
| |
见集群的相关说明 | |
|
详细配置请看oscache.properties文件中的说明