#一、内存缓存或硬盘、数据库缓存 cache.memory=false #二、缓存的最大数量。默认是不限制,cache不会移走任何缓存内容。负数被视不限制。 cache.capacity=100 #三、运算规则。为了使用规则,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不指定值的话,它将被设为默认选项。 cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache #四、是否同步。true 或者 false。一般设为true,避免读取脏数据。 cache.blocking=true #五、指定硬盘缓存是否要作限制。默认值为false。false的状况下,disk cache capacity 和cache.capacity的值相同。 cache.unlimited.disk=false #六、指定类是被持久化缓存的类。class必须实现PersistenceListener接口。 #作为硬盘持久,可以实现com.opensymphony.oscache.plugins.diskpersistence.HashDiskPersistenceListener接口。 #它把class的toString()输出的hash值作为文件的名称。如果你要想文件名易读些(自己设定),DiskPersistenceListener 的父类也能使用,但其可能有非法字符或者过长的名字。 #注意:HashDiskPersistenceListener 和 DiskPersistenceListener 需要设定硬盘路径:cache.path #cache.persistence.class= #七、指定硬盘缓存的路径。目录如果不存在将被建立。同时注意oscache应该要有权限写文件系统。 #例: cache.path=c:\\myapp\\cache cache.path=/opt/myapp/cache cache.path=e:\\index\\cache #八、指定是否只有在内存不足的情况下才使用硬盘缓存。 #默认值false。但推荐是true如果内存cache被允许的话。这个属性彻底的改变了cache的行为,使得persisted cache和memory是完全不同。 cache.persistence.overflow.only=false #九、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). #cache.event.listeners #十、在application 和 session的作用域时 用于标识cache 对象的, 用于ServletCacheAdministrator;此属性不是指定为"__oscache_cache"格式时为默认值, 如果代码中需要用到默认值时可以通使用com.opensymphony.oscache.base.Const.DEFAULT_CACHE_KEY 来取得; cache.key=__oscache_cache #十一、当配置多个服务器时,想通过服备器名称自动生成cache key时,可将此属性设为true. 默认值为false; cache.use.host.domain.in.key=true #十二、 在以上基础选项之上可以加入一些额外的属性到此文件中.例: JavaGroupsBroadcastingListener 便是额外的 #Additional Properties #十三、用于缓存集群. 默认为231.12.21.132 #cache.cluster.multicast.ip #十四、 指集群中的额外配置项. 以下是默认设置:(此属性的相关说将在集群文档中说明) #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.cluster.properties # CACHE IN MEMORY # # If you want to disable memory caching, just uncomment this line. # # cache.memory=false # CACHE KEY # # This is the key that will be used to store the cache in the application # and session scope. # # If you want to set the cache key to anything other than the default # uncomment this line and change the cache.key # # cache.key=__oscache_cache # USE HOST DOMAIN NAME IN KEY # # Servers for multiple host domains may wish to add host name info to # the generation of the key. If this is true, then uncomment the # following line. # # cache.use.host.domain.in.key=true # CACHE LISTENERS # # These hook OSCache events and perform various actions such as logging # cache hits and misses, or broadcasting to other cache instances across a cluster. # See the documentation for further information. # # cache.event.listeners=com.opensymphony.oscache.plugins.clustersupport.JMSBroadcastingListener, \ # com.opensymphony.oscache.extra.CacheEntryEventListenerImpl, \ # com.opensymphony.oscache.extra.CacheMapAccessEventListenerImpl, \ # com.opensymphony.oscache.extra.ScopeEventListenerImpl, \ # com.opensymphony.oscache.extra.StatisticListenerImpl # CACHE PERSISTENCE CLASS # # Specify the class to use for persistence. If you use the supplied DiskPersistenceListener, # don't forget to supply the cache.path property to specify the location of the cache # directory. # # If a persistence class is not specified, OSCache will use memory caching only. # # cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener # cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.HashDiskPersistenceListener # CACHE OVERFLOW PERSISTENCE # Use persistent cache in overflow or not. The default value is false, which means # the persistent cache will be used at all times for every entry. true is the recommended setting. # # cache.persistence.overflow.only=true # CACHE DIRECTORY # # This is the directory on disk where caches will be stored by the DiskPersistenceListener. # it will be created if it doesn't already exist. Remember that OSCache must have # write permission to this directory. # # Note: for Windows machines, this needs \ to be escaped # ie Windows: # cache.path=c:\\myapp\\cache # or *ix: # cache.path=/opt/myapp/cache # # cache.path=c:\\app\\cache # CACHE ALGORITHM # # 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. # # cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache # cache.algorithm=com.opensymphony.oscache.base.algorithm.FIFOCache # cache.algorithm=com.opensymphony.oscache.base.algorithm.UnlimitedCache # THREAD BLOCKING BEHAVIOR # # 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. # # cache.blocking=false # CACHE SIZE # # Default cache size in number of items. If a size is specified but not # an algorithm, the cache algorithm used will be LRUCache. # #cache.capacity=1000 # CACHE UNLIMITED DISK # Use unlimited disk cache or not. The default value is false, which means # the disk cache will be limited in size to the value specified by cache.capacity. # # cache.unlimited.disk=false # JMS CLUSTER PROPERTIES # # Configuration properties for JMS clustering. See the clustering documentation # for more information on these settings. # #cache.cluster.jms.topic.factory=java:comp/env/jms/TopicConnectionFactory #cache.cluster.jms.topic.name=java:comp/env/jms/OSCacheTopic #cache.cluster.jms.node.name=node1 # JAVAGROUPS CLUSTER PROPERTIES # # Configuration properites for the JavaGroups clustering. Only one of these # should be specified. Default values (as shown below) will be used if niether # property is set. See the clustering documentation and the JavaGroups project # (www.javagroups.com) for more information on these settings. # #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.cluster.multicast.ip=231.12.21.132