oscache.properties osCache 的配置文件 放在 webapp/WEB-INF/classes/ 下 ;
oscache.properties 中的配置项如下 :
1 、 cache.memory :
原文 :
Valid values are true or false, with true being the default value. If you want to disable memory caching,
just comment out or remove this line.
Note: disabling memory AND disk caching is possible but fairly stupid
译文 :
是否使用内存缓存 ; true 或 false 。默认为 true;
个人推荐内存方法 , 在速度会有些优势 ;
2 、 cache.capacity
原文 :
The maximum number of items that a cache will hold. By default the capacity is unlimited - the cache will never remove any items.
Negative values will also be treated as meaning unlimited capacity.
译文 :
缓存的最大数量。默认是不限制, cache 不会移走任何缓存内容。负数被视不限制。
3 、 cache.algorithm
原文 :
The default cache algorithm to use. Note that in order to use an algorithm the cache size must also be specified.
If the cache size is not specified, the cache algorithm will be Unlimited cache regardless of the value of this property. If you specify a size but not an algorithm, the cache algorithm used will be com.opensymphony.oscache.base.algorithm.LRUCache.
OSCache currently comes with three algorithms:
* com.opensymphony.oscache.base.algorithm.LRUCache - Least Recently Used.
This is the default when a cache.capacity is set.
* com.opensymphony.oscache.base.algorithm.FIFOCache - First In First Out.
* com.opensymphony.oscache.base.algorithm.UnlimitedCache - Content that is added to the cache will never be discarded.
This is the default when no value is set for the cache.capacity property.
译文 :
运算规则。为了使用规则, 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
原文 :
When a request is made for a stale cache entry, it is possible that another thread is already in the process of rebuilding that
entry. This setting specifies how OSCache handles the subsequent 'non-building' threads. The default behaviour
(cache.blocking=false) is to serve the old content to subsequent threads until the cache entry has been updated.
This provides the best performance (at the cost of serving slightly stale data). When blocking is enabled,
threads will instead block until the new cache entry is ready to be served. Once the new entry is put in the
cache the blocked threads will be restarted and given the new entry.
Note that even if blocking is disabled, when there is no stale data available to be served threads will block until the data is
added to the cache by the thread that is responsible for building the data.
译文 :
是否同步。 true 或者 false 。一般设为 true ,避免读取脏数据。
5 。 cache.unlimited.disk
原文 :
Indicates whether the disk cache should be treated as unlimited or not. The default value is false.
In this case, the disk cache capacity will be equal to the memory cache capacity set by cache.capacity.
译文 :
指定硬盘缓存是否要作限制。默认值为 false 。 false 的状况下, disk cache capacity 和 cache.capacity 的值相同。
6 、 cache.persistence.class
原文 :
Specifies the class to use for persisting cache entries. This class must implement the PersistenceListener interface.
OSCache comes with an implementation that provides filesystem based persistence.
Set this property to com.opensymphony.oscache.plugins.diskpersistence.HashDiskPersistenceListener to enable this implementation.
By specifying your own class here you should be able to persist cache data using say JDBC or LDAP.
NOTE: This class hashes the toString() of the object being cached to produce the file name of the entry.
If you prefer readable file names, the parent DiskPersistenceListener can still be used but it will have issues with illegal
filesystem characters or long names.
The HashDiskPersistenceListener and DiskPersistenceListener classes require cache.
path to be set in order to know where to persist the files to disk.
译文 :
指定类是被持久化缓存的类。 class 必须实现 PersistenceListener 接口。
作为硬盘持久,可以实现 com.opensymphony.oscache.plugins.diskpersistence.HashDiskPersistenceListener 接口。
它把 class 的 toString() 输出的 hash 值作为文件的名称。如果你要想文件名易读些(自己设定), DiskPersistenceListener 的父类也
能使用,但其可能有非法字符或者过长的名字。
注意: HashDiskPersistenceListener 和 DiskPersistenceListener 需要设定硬盘路径: cache.path
7 、 cache.path
原文 :
This specifies the directory on disk where the caches will be stored. The directory will be created if it doesn't already exist,
but remember that OSCache must have permission to write to this location. Avoid sharing the same cache path between different
caches, because OSCache has not been designed to handle this.
Note:
For Windows machines, the backslash character '\' needs to be escaped. ie in Windows:
cache.path=c:\\myapp\\cache
or *ix:
cache.path=/opt/myapp/cache
译文 :
指定硬盘缓存的路径。目录如果不存在将被建立。同时注意 oscache 应该要有权限写文件系统。
例 :
cache.path=c:\\myapp\\cache
or *ix:
cache.path=/opt/myapp/cache
8 、 cache.persistence.overflow.only (NEW! Since 2.1)
原文 :
Indicates whether the persistence should only happen once the memory cache capacity has been reached.
The default value is false for backwards compatibility but the recommended value is true when the memory cache is enabled.
This property drastically changes the behavior of the cache in that the persisted cache will now be different then what is
in memory.
译文 :
指定是否只有在内存不足的情况下才使用硬盘缓存。
默认值 false 。但推荐是 true 如果内存 cache 被允许的话。这个属性彻底的改变了 cache 的行为,使得 persisted cache 和 memory 是完全不同。
9 、 cache.event.listeners
原文 :
This takes a comma-delimited list of fully-qualified class names. Each class in the list must implement one (or more) of
the following interfaces:
* CacheEntryEventListener - Receives cache add/update/flush and remove events.
* CacheMapAccessEventListener - Receives cache access events. This allows you to keep statistical information to track
how effectively the cache is working.
No listeners are configured by default, however some ship with OSCache that you may wish to enable:
* com.opensymphony.oscache.plugins.clustersupport.BroadcastingCacheEventListener - provides clustering support for OSCache.
Enabling this will cause cache flush events to be broadcast to other instances of OSCache running on your LAN.
See Clustering OSCache for further information about this event listener.
* com.opensymphony.oscache.extra.CacheEntryEventListenerImpl - a simple listener implementation that maintains a running
count of all of the entry events that occur during a cache's lifetime.
* com.opensymphony.oscache.extra.CacheMapAccessEventListenerImpl - a simple listener implementation that keeps count of
all the cache map events (cache hits and misses, and stale hits) that occur on a cache instance.
译文 :
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
原文 :
This is the key that will be used by the ServletCacheAdministrator
(and hence the custom tags) to store the cache object in the application and session scope.
The default value when this property is not specified is "__oscache_cache". If you want to access this default value in your code,
it is available as com.opensymphony.oscache.base.Const.DEFAULT_CACHE_KEY.
译文 :
在 application 和 session 的作用域时 用于标识 cache 对象的 , 用于 ServletCacheAdministrator;
此属性不是指定为 "__oscache_cache" 格式时为默认值 , 如果代码中需要用到默认值时可以通使用 com.opensymphony.oscache.base.Const.DEFAULT_CACHE_KEY
来取得 ;
11 、 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. The default value is false.
译文 :
当配置多个服务器时 , 想通过服备器名称自动生成 cache key 时 , 可将此属性设为 true. 默认值为 false;
12 、 Additional Properties
原文 :
In additon to the above basic options, any other properties that are specified in this file will still be loaded and can be
made available to your event handlers. For example, the JavaGroupsBroadcastingListener supports the following additional
properties:
译文 :
在以上基础选项之上可以加入一些额外的属性到此文件中 .
例 : JavaGroupsBroadcastingListener 便是额外的 .
13 、 cache.cluster.multicast.ip
原文 :
The multicast IP to use for this cache cluster. Defaults to 231.12.21.132.
译文 :
用于缓存集群 . 默认为 231.12.21.132
14 、 cache.cluster.properties
原文 :
Specifies additional configuration options for the clustering. The default setting is
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)
译文 :
指集群中的额外配置项 . 以下是默认设置 :( 此属性的相关说将在集群文档中说明 )
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)
原文 :
See the Clustering OSCache documentation for further details on the above two properties.
译文 :
以上两项的详细信息可以看 OSCache 集群文档 (http://wiki.opensymphony.com/display/CACHE/Clustering);
分享到:
相关推荐
《osCache缓存配置详解》 osCache是Java平台上的一个高效、易用的缓存解决方案,它由Tuckey组织开发,广泛应用于各种Web应用中,以提高数据读取速度,减轻数据库压力。osCache的核心功能是提供了一个内存中的对象...
这通常在Spring框架中通过配置文件或者Java代码完成,设置缓存的配置参数,如缓存大小、过期策略等。 3. 创建缓存对象:在需要缓存数据的地方,创建OsCache实例并指定缓存名称。例如,可以创建一个名为`...
**osCache缓存技术详解** osCache是一款广泛应用于Java应用程序中的开源缓存解决方案,由OpenSymphony团队开发。它提供了一种高效、可扩展的方式来管理应用程序中的数据缓存,从而提高系统的性能和响应速度。...
osCache的配置主要通过XML文件完成,包括缓存配置、更新策略、缓存监听器等。例如: ```xml diskPersistent="false" timeToIdleSeconds="120" timeToLiveSeconds="120" memoryStoreEvictionPolicy="LRU"> ``` 在...
以上就是OSCache缓存技术的基本介绍,通过理解并熟练掌握OSCache,开发者能够有效地提升应用性能,降低数据库压力,为用户带来更流畅的体验。在实践中,还需要根据具体项目需求进行优化和调整,以达到最佳的缓存效果...
**基于OSCache的页面缓存技术详解** ...然后,在初始化阶段,通过配置文件(通常为`oscache.properties`)设置缓存的相关参数,如缓存大小、过期时间、是否启用持久化等。例如: ```properties # oscache.properties ...
配置文件中可以设置缓存的大小、过期时间、缓存策略等参数。例如: ```xml <oscache> </oscache> ``` 这里配置了一个名为`myCache`的缓存,最大内存元素为1000,非永久对象,存活时间为120秒,写入硬盘后可持久...
- 在Web应用中,可以利用OSCache缓存JSP页面、EJB会话bean、Hibernate查询结果等,减少服务器负载。 - 在服务端,可以缓存经常访问的API响应,提升响应速度,改善用户体验。 - 结合Spring框架,可以通过AOP(面向...
**Hibernate OSCache缓存详解** Hibernate 是一个流行的Java ORM(对象关系映射)框架,它允许开发者以面向对象的方式操作数据库。为了提高性能,Hibernate 提供了缓存机制,其中 OSCache 是一种广泛使用的二级缓存...
在Web应用的WEB-INF目录下创建一个名为`oscache.properties`的配置文件,设置缓存的相关参数,例如缓存大小、过期时间等。例如: ``` # 设置缓存的最大容量 maxElementsInMemory=10000 # 是否允许缓存溢出到磁盘 ...
5. **缓存分区**:OSCache 支持将缓存划分为多个分区,每个分区可以有不同的配置,这有助于管理和优化大量数据的存储。 6. **缓存预热**:在应用启动时,OSCache 可以预先加载一部分关键数据到缓存中,以缩短用户...
OSCache 是一个广泛使用的开源缓存解决方案,尤其在Java应用中,它被JBoss, Hibernate, Spring等知名框架所支持。其主要特点是配置简单,适用于页面级别的缓存管理。以下是对OSCache配置和使用过程的详细说明: 1. ...
`etc`目录通常包含配置文件,如`oscache.properties`,用于设置缓存的参数和行为。 总的来说,osCache是一个强大且灵活的缓存解决方案,它能够帮助开发者优化应用程序的性能,减少数据库压力,提升用户体验。通过...
例如,以下配置将对所有 `.jsp` 文件进行缓存,缓存时间为 600 秒,缓存范围设置为 session: ```xml <filter-name>CacheFilter <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>...
- `oscache.properties`包含了oscache运行所需的各项配置参数,如缓存的有效时间、缓存策略等。 - `oscache.tld`定义了oscache提供的标签库结构,便于在JSP页面中调用缓存相关的标签。 #### 3. 修改web.xml 在...
- **配置**:配置osCache的XML配置文件,设置缓存的大小、过期时间、持久化策略等。 - **API集成**:使用osCache提供的API进行缓存的增删改查操作,如`CacheManager.getInstance().getCache("myCache")`获取缓存...
oscache还支持缓存的更新和过期策略,例如,可以通过设置时间戳或依赖关系来决定何时从缓存中移除不再需要的对象。 oscache提供了丰富的API,使得开发者能够方便地进行缓存操作。例如,`CacheManager`类是oscache的...