<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                Hibernate的緩存分為三種:一級緩存、二級緩存、查詢緩存。下面我就為大家介紹一下。 ## 一、概念。 一級緩存:第一級存放于session中稱為一級緩存。Session 級別的緩存,它同session邦定。它的生命周期和session相同。Session消毀,它也同時消毀;管理一級緩存,一級緩存無法取消,用兩個方法管理,clear(),evict()。兩個session 不能共享一級緩存,因它會伴隨session的生命周期的創建和消毀;Session緩存是實體級別的緩存,就是只有在查詢對象級別的時候才使用,如果使用HQL和SQL是查詢屬性級別的,是不使用一級緩存的! 當程序調用save(),update(),saveorupdate()等方法 及調用查詢接口list,filter,iterate時,如session緩存中還不存在相應的對象,Hibernate會把該對象加入到一級緩存中,當Session關閉的時候該Session所管理的一級緩存也會立即被清除Hibernate的一級緩存是Session所內置的,不能被卸載,也不能進行任何配置。 一級緩存的物理介質為內存,由于內存容量有限,必須通過恰當的檢索策略和檢索方式來限制加載對象的數目。 二級緩存:第二級別的緩存是SessionFactory級別的緩存,它是屬于進程范圍或群集范圍的緩存。這一級別的緩存可以進行配置和更改,并且可以動態加載和卸載。第二級緩存的物理介質可以是內存和硬盤,因此第二級緩存可以存放大量的數據,數據過期策略的maxElementsInMemory屬性值可以控制內存中的對象數目。管理第二級緩存主要包括兩個方面:選擇需要使用第二級緩存的持久類,設置合適的并發訪問策略:選擇緩存適配器,設置合適的數據過期策略。 查詢緩存:hibernate的查詢緩存是主要是針對普通屬性結果集的緩存, 而對于實體對象的結果集只緩存id。在一級緩存,二級緩存和查詢緩存都打開的情況下作查詢操作時這樣的:查詢普通屬性,會先到查詢緩存中取,如果沒有,則查詢數據庫;查詢實體,會先到查詢緩存中取id,如果有,則根據id到緩存(一級/二級)中取實體,如果緩存中取不到實體,再查詢數據庫。和一級/二級緩存不同,查詢緩存的生命周期 ,是不確定的,當前關聯的表發生改變時,查詢緩存的生命周期結束。 ## 二、對比。 ![](https://box.kancloud.cn/2016-02-22_56caddfb62167.jpg) ## 三、總結。 緩存對于我們來說很重要可以提高系統的性能,把一些經常用到的數據,大的數據存到緩存中這樣查詢起來比直接查詢數據庫更加高效。對于大數據量的今天緩存的應用為我們提高效率提供了可能。 PS:這個是一個關于緩存機制的博客:[http://www.blogjava.net/tbwshc/articles/380013.html](http://www.blogjava.net/tbwshc/articles/380013.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看