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

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

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

    隨筆-57  評論-202  文章-17  trackbacks-0
          一般而言,ORM的數據緩存應包含如下幾個層次:
          1. 事務級緩存(Transcation Layer Cache)
          2. 應用級/進程級緩存(Application/Process Layer Cache)
          3. 分布式緩存(Cluster Layer Cache)

          Hibernate數據緩存(Cache)分為兩個層次,以Hibernate語義加以區分,可分為:
          1. 內部緩存(Session Level,也稱為一級緩存)
          2. 二級緩存(SessionFactory Level,也稱為二級緩存)

          Hibernate中,緩存將在以下情況中發揮作用:
          1. 通過id[主鍵]加載數據時
          2. 延遲加載

          內部緩存正常情況下由Hibernate自動維護,如果需要手動干預,可以通過以下方法完成:
          1. Session.evict
             將某個特定對象從內部緩存清除。
          2. Session.clear
             清空內部緩存。

          在Hibernate中,二級緩存涵蓋了應用級緩存和分布式緩存領域。如果數據滿足以下條件,則可將其納入緩存管理。
          1. 數據不會被第三方應用修改;
          2. 數據大小(Data Size)在可接收的范圍之內;
          3. 數據更新頻率較低;
          4. 同一數據可能會被系統頻繁引用;
          5. 非關鍵數據(關鍵數據,如金融帳戶數據)。
          Hibernate本身并未提供二級緩存的產品化實現,而是為眾多的第三方緩存組件提供了接入接口,較常用的第三方組件有:
          1. JCS
          2. EHCache
          3. OSCache
          4. JBossCache
          5. SwarmCache
          Hibernate中啟用二級緩存,需要在hibernate.cfg.xml配置hibernate.cache.provider_class參數,之后,需要在映射文件中指定各個映射實體(以及collection)的緩存同步策略。Hibernate提供了一下4種內置的緩存同步策略:
          1. read-only
             只讀。對于不會發生改變的數據,可使用只讀型緩存。
          2. nonstrict-read-write
             如果程序對并發訪問下的數據同步要求不是非常嚴格,且數據更新操作頻率較低,可以采用本選項,獲得較好的性能。
          3. read-write
             嚴格可讀寫緩存。基于時間戳判定機制,實現了“read committed”事務隔離等級。可用于對數據同步要求嚴格的情況,但不支持分布式緩存。這也是實際應用中使用最多的同步策略。
          4. transactional
             事務型緩存,必須運行在JTA事務環境中。
    posted on 2005-06-22 18:15 小米 閱讀(6107) 評論(5)  編輯  收藏 所屬分類: Hibernate

    評論:
    # re: 《深入淺出Hibernate》讀書筆記(3)——數據緩存 2005-11-18 09:06 | outersky
    請教一下,我現在不想用它的cache,該怎么弄。
    因為我現在是兩臺服務器做錯誤恢復的(通過客戶端類庫實現負載均衡和錯誤檢測),所以如果每個服務器都有自己cache的話,如果在一個hibernate里面剛剛修改過,第二個hibernate還沒從數據庫里面load過來,所以可能會出現混亂,想把兩邊的cache(應該是二級cache吧)都禁止掉。

    請教一下該如何處理?網上到處都是打開cache的,不知道如何禁止。用的是hibernate3,好像默認就有二級cache了。  回復  更多評論
      
    # re: 《深入淺出Hibernate》讀書筆記(3)——數據緩存 2005-11-27 16:48 | yumi301
    no,二級緩存默認是沒有的,
    緩存是對class和set的而言的,每個class和set標記都有<cache子標記來設置是否該class放緩存中。  回復  更多評論
      
    # re: 《深入淺出Hibernate》讀書筆記(3)——數據緩存 2006-02-28 23:04 | s
    象OSCache都是支持cluster的.不需要關掉cache.你解決問題的方向錯了.  回復  更多評論
      
    # re: 《深入淺出Hibernate》讀書筆記(3)——數據緩存 2006-05-22 14:55 | jackyhuang
    照本宣科,沒有一點實際意義。  回復  更多評論
      
    # re: 《深入淺出Hibernate》讀書筆記(3)——數據緩存 2009-05-06 11:02 | ww
    大型的項目,對系統性能要求比較高的,還是自己控制緩存吧。  回復  更多評論
      
    主站蜘蛛池模板: 亚洲视频在线一区二区| 亚洲av女电影网| 伊人久久大香线蕉免费视频| 亚洲国产精品久久| 免费看无码自慰一区二区| 中文成人久久久久影院免费观看| 亚洲第一页在线观看| 亚洲?V无码乱码国产精品| 99国产精品免费观看视频| 国产偷国产偷亚洲高清人 | 久久精品九九亚洲精品| 免费视频成人国产精品网站 | 亚洲精品动漫免费二区| 中文字幕精品三区无码亚洲| 免费看a级黄色片| 特级毛片爽www免费版| 老司机亚洲精品影院| 日本媚薬痉挛在线观看免费| 99精品热线在线观看免费视频| 野花视频在线官网免费1| 亚洲精品乱码久久久久久下载| 亚洲第一页日韩专区| 免费电视剧在线观看| 无码精品人妻一区二区三区免费看 | 亚洲高清最新av网站| 国产麻豆视频免费观看| 野花香在线视频免费观看大全| 久久久久久久久无码精品亚洲日韩| 91亚洲精品第一综合不卡播放| 久久精品亚洲福利| 免费无遮挡无码视频网站| 亚洲免费在线视频播放| a级毛片免费全部播放| 曰批全过程免费视频观看免费软件| 亚洲人成电影青青在线播放| 亚洲AV人无码综合在线观看| 亚洲中文无韩国r级电影 | 亚洲av永久无码嘿嘿嘿| 亚洲韩国—中文字幕| 中文亚洲AV片在线观看不卡| 国产免费怕怕免费视频观看|