<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    七段

    無論怎樣,請讓我先感謝一下國家。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      35 Posts :: 2 Stories :: 7 Comments :: 0 Trackbacks
    Ref: http://community.jboss.org/wiki/JBossCacheOfficialDocumentation

    Cache的目的是為了以空間換時間,一次計算結果為多次重用。
    空間可以是實時內存空間、持久化的硬盤空間。時間可以是運算時間、連接時間、傳輸時間等。

    Cache可以分為LocalCache和DistributedCache。
    最簡單的LocalCache可以通過維護一個ConcurrentHashMap實現。
    缺點是:
    1,內存有限,容易out of memory (定期清除?持久化?)
    2, 需要對全map做concurrency維護,粗粒度的鎖定爭用會影響性能(樹結構維護?)

    在一個專業的企業級應用中,cache除了高性能和線程安全的要求,還要支持事務、高可用性、持久化、容錯、集群同步等。
    JBossCache是一個典型的企業級cache實現,他采用樹結構且支持集群和事務特性。
    雖然JBossCache這把牛刀也可以在standalone的JS2E應用中用來殺雞,但我們應該更關心用他在集群環境中怎么殺牛。
    JBossCache分為非集群模式(Local)和集群模式。
    集群模式根據實現策略又分為replication和invalidation。
    1 replication:通過拷貝改變的cache對象來保證與集群中其他cache同步。replication又可細分為同步replication和異步repliation兩種,異步replication較快,put以后馬上返回,但是replication出錯了,事務還是算完成了不回回滾。同步replication要花時間等待其他的cache完成replication的通知才能結束。

    2 invalidation: 如果cache狀態改變,僅僅是給其他cache發個通知,收到通知的cache把臟數據清除掉。invalidation也可分為同步和異步兩種,區別是發送通知的廣播方式一個是同步一個是異步。

    在jboss cluster中,我們最好通過MBean來部署jboss cache。這樣又幾個好處:
    1,JBoss NS支持Cluster
    我們就可以通過JBoss NamingService來訪問cache。如果在local NS中查不到cache,jbss NS還會去查cluster中其他的cache。
    2,利用MBean的特性
    通過CacheMBean, 我們可以方便的管理Cache Service,實時的啟動、停止或者改變一些配置,還可以監控到一些cache統計數據。
    3,利用microcontainer的特性
    我們可以通過配置XML文件來完成cache相關的所有對象聲明。簡而言之,就是利用java reflection和AOP的技術就不用寫聲明cache的代碼了。


    <?xml version="1.0" encoding="UTF-8"?>



    <deployment xmlns="urn:jboss:bean-deployer:2.0">



       
    <!-- First we create a Configuration object for the cache -->

       
    <bean name="ExampleCacheConfig"

             class
    ="org.jboss.cache.config.Configuration">

          

           build up the Configuration

          

       
    </bean>

       

       
    <!-- Factory to build the Cache. -->

       
    <bean name="DefaultCacheFactory" class="org.jboss.cache.DefaultCacheFactory">      

          
    <constructor factoryClass="org.jboss.cache.DefaultCacheFactory"

                       factoryMethod
    ="getInstance" />

       
    </bean>

       

       
    <!-- The cache itself -->

       
    <bean name="ExampleCache" class="org.jboss.cache.CacheImpl">

          

          
    <constructor factoryMethod="createnewInstance">

              
    <factory bean="DefaultCacheFactory"/>

              
    <parameter><inject bean="ExampleCacheConfig"/></parameter>

              
    <parameter>false</parameter>

          
    </constructor>

              

       
    </bean>

       

       
    <!-- JMX Management -->

       
    <bean name="ExampleCacheJmxWrapper" class="org.jboss.cache.jmx.CacheJmxWrapper">

          

          
    <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=ExampleTreeCache", 

                             exposedInterface=org.jboss.cache.jmx.CacheJmxWrapperMBean.class, 

                             registerDirectly=true)
    </annotation>

          

          
    <constructor>

              
    <parameter><inject bean="ExampleCache"/></parameter>

          
    </constructor>

              

       
    </bean>



    </deployment> 

    后記:
    1,jboss cache的naga版中,采用Multi-versioned concurrency control來實現并發。下次再從中總結一下多線程的學習。
    2,jboss cache通過結合visitor pattern和command pattern,把對cache node的操作與訪問從中隔離出來,不用改變或者擴展node對象就可以添加新的node行為。也就是開閉原則。下次再從中總結一下幾種設計模式的經典應用。



    posted on 2010-03-28 23:10 sevenduan 閱讀(2504) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 蜜桃精品免费久久久久影院| 伊人久久大香线蕉亚洲| 立即播放免费毛片一级| 久久亚洲中文字幕精品一区四 | 久久精品无码免费不卡| 亚洲综合小说久久另类区| 在线免费观看色片| 99久久免费国产特黄| 亚洲三级高清免费| 国产av无码专区亚洲av果冻传媒| 国产成人精品免费午夜app | 精品亚洲成a人片在线观看少妇| 青青青国产免费一夜七次郎| 日本黄色动图免费在线观看| 亚洲国产成人久久精品大牛影视| 亚洲国产精品无码一线岛国| 国产福利免费在线观看| 日韩精品无码免费一区二区三区 | 久久国产免费观看精品3| 免费无码又爽又黄又刺激网站 | xxxxx做受大片在线观看免费| 亚洲一级黄色大片| 亚洲色大成网站WWW久久九九| 午夜无遮挡羞羞漫画免费| 永久免费不卡在线观看黄网站| 久久亚洲精品无码av| 亚洲午夜精品在线| 亚洲成色www久久网站夜月| 免费一级毛片在线观看| 毛片a级毛片免费播放100| 麻豆精品成人免费国产片| 青青草国产免费国产是公开 | rh男男车车的车车免费网站| 国产亚洲精品bv在线观看| 久久亚洲成a人片| 91麻豆精品国产自产在线观看亚洲| 日韩免费高清一级毛片在线| 免费福利视频导航| 久久大香香蕉国产免费网站| 中文字幕免费观看视频| 人人爽人人爽人人片A免费 |