用户操作
[即时聊天] [发私信] [加为好友]
onebodyID:fcjg
3506次访问,排名2万外好友7人,关注者7
http://www.OMyOS.com 个人网站
http://shop34329689.taobao.com/
http://photo.sina.com.cn/onebody2008
fcjg的文章
原创 15 篇
翻译 0 篇
转载 10 篇
评论 2 篇
最近评论
lwl8602:ding!
bluefloat:快速软件开发-McConnell.pdf
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 osCache 配置说明收藏

    新一篇: Red Hat Linux 5 下 VMware Tools 安装方法 | 旧一篇: Ajax中使用XML和JSON格式传输的优劣比较

    osCache 配置说明

     

    作者: onebodysoftware@hotmail.com (MSN) 

     

    E文地址:http://wiki.opensymphony.com/display/CACHE/Configuration

     

    这个东西今天小试了一下,总体感觉还不错.就不知道比起JBoss cache 有没什么差别(现在本人还不得而知啊)

     

    主要是针对 osCache 的配置文件做了简单的翻译; 如有错误敬请修正.修改的文档请共享一下,谢谢!

     

    oscache.properties  osCache的配置文件   放在 webapp/WEB-INF/classes/;

     

    oscache.properties 中的配置项如下:

     

    1cache.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;

         

          个人推荐内存方法,在速度会有些优势;

     

    2cache.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不会移走任何缓存内容。负数被视不限制。

     

    3cache.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.

          

       译文:

           运算规则。为了使用规则,cachesize必须是指定的。

           如果cachesize不指定的话, 将不会限制缓存对象的大小。如果指定了cachesize,但不指定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不指定值的话,它将被设为默认选项。

     

    4cache.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,避免读取脏数据。

     

    5cache.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.

     

       译文:

            指定硬盘缓存是否要作限制。默认值为falsefalse的状况下,disk cache capacity cache.capacity的值相同。

     

    6cache.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接口。

            它把classtoString()输出的hash值作为文件的名称。如果你要想文件名易读些(自己设定),DiskPersistenceListener 的父类也

             能使用,但其可能有非法字符或者过长的名字。

            

            注意:HashDiskPersistenceListener DiskPersistenceListener 需要设定硬盘路径:cache.path

     

    7cache.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

     

    8cache.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 cachememory是完全不同。

     

    9cache.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 eventscache hitsmisses and state hits.

    10cache.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

           来取得;

     

    11cache.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;

           

    12Additional 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 便是额外的.

     

    13cache.cluster.multicast.ip

        原文:

            The multicast IP to use for this cache cluster. Defaults to 231.12.21.132.

     

        译文:

            用于缓存集群. 默认为231.12.21.132

     

    14cache.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 的分布式缓存效果不佳, 所以最终决定不再继续研究下去.  同时转向ehCache 的研究(文档正在整理当中)

    发表于 @ 2008年06月26日 16:06:00|评论(loading...)|收藏

    新一篇: Red Hat Linux 5 下 VMware Tools 安装方法 | 旧一篇: Ajax中使用XML和JSON格式传输的优劣比较

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © onebody