<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爰片久久免费| 久久精品国产亚洲AV| 免费萌白酱国产一区二区三区 | 免费无码H肉动漫在线观看麻豆| 亚洲精品国产日韩无码AV永久免费网| 亚洲av综合av一区二区三区| 国内自产拍自a免费毛片| 亚洲av成人无码网站… | 亚洲日本va午夜中文字幕久久| 一级看片免费视频| 久久久久久久亚洲精品| 国内永久免费crm系统z在线 | 亚洲色成人网站WWW永久| 成人最新午夜免费视频| 亚洲欧洲免费无码| 免费一级做a爰片性色毛片| 特级毛片爽www免费版| 亚洲色偷偷偷鲁综合| 你懂的免费在线观看网站| 91亚洲精品自在在线观看| 在线免费视频一区二区| 成人福利在线观看免费视频| 亚洲gv白嫩小受在线观看| 九九精品免费视频| 国产精品亚洲va在线观看| 亚洲真人无码永久在线| 1a级毛片免费观看| 国产亚洲人成在线播放| 亚洲熟妇丰满多毛XXXX| h在线观看视频免费网站| 美国免费高清一级毛片| 精品亚洲综合久久中文字幕| 亚洲天堂免费在线| 一区二区三区免费电影| 亚洲精品中文字幕乱码| 午夜爱爱免费视频| 久99久精品免费视频热77| 日韩va亚洲va欧洲va国产| 一区二区无码免费视频网站| 51午夜精品免费视频| 亚洲一区在线免费观看|