<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 19.3\. 管理緩存(Managing the caches) 無論何時,當你給`save()`、`update()`或 `saveOrUpdate()`方法傳遞一個對象時,或使用`load()`、 `get()`、`list()`、`iterate()` 或`scroll()`方法獲得一個對象時, 該對象都將被加入到`Session`的內部緩存中。 當隨后flush()方法被調用時,對象的狀態會和數據庫取得同步。 如果你不希望此同步操作發生,或者你正處理大量對象、需要對有效管理內存時,你可以調用`evict()` 方法,從一級緩存中去掉這些對象及其集合。 ``` ScrollableResult cats = sess.createQuery("from Cat as cat").scroll(); //a huge result set while ( cats.next() ) { Cat cat = (Cat) cats.get(0); doSomethingWithACat(cat); sess.evict(cat); } ``` Session還提供了一個`contains()`方法,用來判斷某個實例是否處于當前session的緩存中。 如若要把所有的對象從session緩存中徹底清除,則需要調用`Session.clear()`。 對于二級緩存來說,在`SessionFactory`中定義了許多方法, 清除緩存中實例、整個類、集合實例或者整個集合。 ``` sessionFactory.evict(Cat.class, catId); //evict a particular Cat sessionFactory.evict(Cat.class); //evict all Cats sessionFactory.evictCollection("Cat.kittens", catId); //evict a particular collection of kittens sessionFactory.evictCollection("Cat.kittens"); //evict all kitten collections ``` `CacheMode`參數用于控制具體的Session如何與二級緩存進行交互。 * `CacheMode.NORMAL` - 從二級緩存中讀、寫數據。 * `CacheMode.GET` - 從二級緩存中讀取數據,僅在數據更新時對二級緩存寫數據。 * `CacheMode.PUT` - 僅向二級緩存寫數據,但不從二級緩存中讀數據。 * `CacheMode.REFRESH` - 僅向二級緩存寫數據,但不從二級緩存中讀數據。通過 `hibernate.cache.use_minimal_puts`的設置,強制二級緩存從數據庫中讀取數據,刷新緩存內容。 如若需要查看二級緩存或查詢緩存區域的內容,你可以使用`統計(Statistics)` API。 ``` Map cacheEntries = sessionFactory.getStatistics() .getSecondLevelCacheStatistics(regionName) .getEntries(); ``` 此時,你必須手工打開統計選項。可選的,你可以讓Hibernate更人工可讀的方式維護緩存內容。 ``` hibernate.generate_statistics true hibernate.cache.use_structured_entries true ```
                  <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>

                              哎呀哎呀视频在线观看