<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
    主站蜘蛛池模板: 亚洲欧洲日本国产| 亚洲日韩久久综合中文字幕| 青青草无码免费一二三区| 亚洲成aⅴ人片在线观| 在线观看成人免费视频| 免费无遮挡无码视频在线观看 | 国产亚洲成人久久| 少妇太爽了在线观看免费视频| 2019亚洲午夜无码天堂| 亚洲精品在线视频| 18以下岁毛片在免费播放| 国产AV日韩A∨亚洲AV电影 | 爱情岛论坛网亚洲品质自拍| 麻豆成人久久精品二区三区免费| 亚洲人成人无码.www石榴| 亚洲VA中文字幕无码毛片| 午夜dj在线观看免费视频| 三年片免费观看大全国语| 精品久久亚洲中文无码| 久久久青草青青国产亚洲免观| 999久久久免费精品国产| 一区二区3区免费视频| 亚洲一级毛片中文字幕| 久久精品国产亚洲Aⅴ香蕉| 中文字幕人成无码免费视频 | 中文字幕免费在线看线人| 免费看一级一级人妻片| 亚洲日本香蕉视频观看视频| 亚洲人成网站18禁止一区| 无人在线观看完整免费版视频| 中文在线免费观看| 亚洲av无码专区在线电影| 91亚洲精品视频| 国内精品久久久久久久亚洲| 成人午夜18免费看| 91嫩草免费国产永久入口| 野花香高清在线观看视频播放免费| 亚洲av成人无码网站…| 精品久久久久久亚洲精品| 亚洲自偷自偷精品| 亚洲av无码乱码国产精品|