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

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

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

    posts - 12, comments - 8, trackbacks - 0, articles - 5
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Hibernate的二級緩存策略

    Posted on 2010-11-19 11:33 楊羅羅 閱讀(776) 評論(0)  編輯  收藏 所屬分類: java.hibernate
    Hibernate的二級緩存策略的一般過程如下:

      1) 條件查詢的時候,總是發(fā)出一條select * from table_name where …. (選擇所有字段)這樣的SQL語句查詢數(shù)據(jù)庫,一次獲得所有的數(shù)據(jù)對象。

      2) 把獲得的所有數(shù)據(jù)對象根據(jù)ID放入到第二級緩存中。

      3) 當(dāng)Hibernate根據(jù)ID訪問數(shù)據(jù)對象的時候,首先從Session一級緩存中查;查不到,如果配置了二級緩存,那么從二級緩存中查;查不到,再查詢數(shù)據(jù)庫,把結(jié)果按照ID放入到緩存。

      4) 刪除、更新、增加數(shù)據(jù)的時候,同時更新緩存。

      Hibernate的二級緩存策略,是針對于ID查詢的緩存策略,對于條件查詢則毫無作用。為此,Hibernate提供了針對條件查詢的Query緩存。

      Hibernate的Query緩存策略的過程如下:

      1) Hibernate首先根據(jù)這些信息組成一個Query Key,Query Key包括條件查詢的請求一般信息:SQL, SQL需要的參數(shù),記錄范圍(起始位置rowStart,最大記錄個數(shù)maxRows),等。

      2) Hibernate根據(jù)這個Query Key到Query緩存中查找對應(yīng)的結(jié)果列表。如果存在,那么返回這個結(jié)果列表;如果不存在,查詢數(shù)據(jù)庫,獲取結(jié)果列表,把整個結(jié)果列表根據(jù)Query Key放入到Query緩存中。

      3) Query Key中的SQL涉及到一些表名,如果這些表的任何數(shù)據(jù)發(fā)生修改、刪除、增加等操作,這些相關(guān)的Query Key都要從緩存中清空。

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久久久高潮毛片免费全部播放| 中文字幕免费播放| 亚洲 小说区 图片区 都市| 日本久久久免费高清| 精品免费国产一区二区三区| 色播在线永久免费视频| 午夜网站免费版在线观看| 嫩草影院免费观看| 免费毛片在线视频| 免费A级毛片无码久久版| 免费人妻av无码专区| 亚洲一级特黄大片在线观看| 亚洲午夜久久久久久久久久| 亚洲av综合色区| 亚洲国产精品一区| 亚洲午夜国产精品| 中文字幕在线观看亚洲视频| 亚洲乱理伦片在线观看中字| 鲁死你资源站亚洲av| 免费无码一区二区| 两个人日本WWW免费版| 一级做a爰全过程免费视频| 久草视频免费在线| 午夜免费不卡毛片完整版| 亚洲福利精品一区二区三区| 中文字幕精品亚洲无线码二区| 亚洲AV日韩精品久久久久久久 | 成年网站免费视频A在线双飞| 91在线品视觉盛宴免费| 国产一区视频在线免费观看 | 日韩亚洲国产高清免费视频| 青草草在线视频永久免费| 亚洲精品专区在线观看| 久久夜色精品国产亚洲AV动态图| 亚洲精品白色在线发布| 久久亚洲AV成人无码国产最大| av片在线观看永久免费| 亚洲免费闲人蜜桃| 免费一级毛片在级播放| 亚洲国产精品免费视频| 豆国产96在线|亚洲|