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

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

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

    posts - 495,  comments - 11,  trackbacks - 0

    ?????? 大家都知道,Hibernate是以JDBC為基礎實現的持久層組件,因而其性能肯定會低于直接使用JDBC來訪問數據庫。因此,為了提高Hibernate的性能,在Hibernate組件中提供了完善的緩存機制來提高數據庫訪問的性能。

    ?????? 什么是緩存

    ?????? 緩存是介于應用程序和物理數據之間的,其作用是為了降低應用程序對物理數據訪問的頻次從而提高應用系統的性能。緩存思想的提出主要是因為對物理數據的訪問效率要遠遠低于對內存的訪問速度,因而采用了將部分物理數據存放于內存當中,這樣可以有效地減少對物理數據的訪問次數,從而提高系統的性能。

    ?????? 緩存廣泛地存在于我們所接觸的各種應用系統中,例如數據庫系統、Windows操作系統等,在進行物理數據的訪問時無一例外地都使用了緩存機制來提高操作的性能。

    ?????? 緩存內的數據是對物理數據的復制,因此一個緩存系統所應該包括的最基本的功能是數據的緩存和讀取,同時在使用緩存的時候還要考慮緩存中的數據與物理數據的同步,也就是要保持兩者是一致的。

    ?????? 緩存要求對數據的讀寫速度很高,因此,一般情況下會選用內存作為存儲的介質。但如果內存有限,并且緩存中存放的數據量非常大時,也會用硬盤作為緩存介質。緩存的實現不僅僅要考慮存儲的介質,還要考慮到管理緩存的并發訪問和緩存數據的生命周期。

    ?????? 為了提高系統的性能,Hibernate也使用了緩存的機制。在Hibernate框架中,主要包括以下兩個方面的緩存:一級緩存和二級緩存(包含查詢緩存)。Hibernate中緩存的作用主要表現在以下兩個方面:

    ●?? 通過主鍵(ID)加載數據的時候

    ●?? 延遲加載中

    一級緩存

    ?????? Hibernate的一級緩存是由Session提供的,因此它只存在于Session的生命周期中,也就是當Session關閉的時候該Session所管理的一級緩存也會立即被清除。

    ?????? Hibernate的一級緩存是Session所內置的,不能被卸載,也不能進行任何配置。

    ?????? 一級緩存采用的是key-value的Map方式來實現的,在緩存實體對象時,對象的主關鍵字ID是Map的key,實體對象就是對應的值。所以說,一級緩存是以實體對象為單位進行存儲的,在訪問的時候使用的是主關鍵字ID。

    ?????? 雖然,Hibernate對一級緩存使用的是自動維護的功能,沒有提供任何配置功能,但是可以通過Session中所提供的方法來對一級緩存的管理進行手工干預。Session中所提供的干預方法包括以下兩種。

    ●?? evict() :用于將某個對象從Session的一級緩存中清除。

    ●?? clear() :用于將一級緩存中的對象全部清除。

    ?????? 在進行大批量數據一次性更新的時候,會占用非常多的內存來緩存被更新的對象。這時就應該階段性地調用clear()方法來清空一級緩存中的對象,控制一級緩存的大小,以避免產生內存溢出的情況。具體的實現方法如清單14.8所示。

    ?????? 清單14.8??? 大批量更新時緩存的處理方法

    Session session = sessionFactory.openSession();

    Transaction tx = session.beginTransaction();

    ??

    for ( int i=0; i<100000; i++ ) {

    ??? Customer customer = new Customer(……);

    ??? session.save(customer);

    ??? if ( i % 20 == 0 ) {

    ??????? //將本批插入的對象立即寫入數據庫并釋放內存

    ??????? session.flush();

    ??????? session.clear();

    ??? }

    }

    ??

    tx.commit();

    session.close();

    posted on 2009-07-19 21:18 jadmin 閱讀(90) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 免费一级特黄特色大片在线观看 | 亚洲国产91精品无码专区| 添bbb免费观看高清视频| 亚洲欧洲日产国码av系列天堂 | 亚洲av午夜福利精品一区人妖| 亚欧人成精品免费观看| 国产精品亚洲а∨天堂2021| 亚洲AV无码专区国产乱码电影| 操美女视频免费网站| 男女拍拍拍免费视频网站| 2020久久精品亚洲热综合一本| 久久久久亚洲?V成人无码| 久久久久久免费视频| 精品国产污污免费网站入口| 亚洲一级毛片在线观| 亚洲色大成网站www永久一区| 免费人成在线视频| 免费看少妇高潮成人片| 亚洲AV成人片无码网站| 亚洲视频在线免费看| 亚洲综合久久夜AV | 最新仑乱免费视频| 日本免费一区二区三区四区五六区| 在线观看免费亚洲| 亚洲av片不卡无码久久| 亚洲精品无码午夜福利中文字幕| 免费羞羞视频网站| 国产91免费视频| 久久国产乱子伦精品免费强| 永久免费精品影视网站| 亚洲成AV人影片在线观看| 亚洲精品熟女国产| 亚洲AV无码久久精品色欲| mm1313亚洲精品无码又大又粗 | 四虎最新永久免费视频| 在线毛片片免费观看| 一级做a爰片久久免费| 色噜噜的亚洲男人的天堂| 亚洲人成图片网站| 亚洲综合综合在线| 亚洲午夜精品久久久久久人妖|