MyBatis快取技術

2021-08-07 18:00:12 字數 1588 閱讀 8749

禁用二級快取 

重新整理快取 

org.mybatis.cachesgroupid>

mybatis-ehcacheartifactid>

1.0.2version>

dependency>

- 第二步:引入快取配置檔案(classpath下(src下)新增:ehcache.xml)
""

xsi:nonamespaceschemalocation="../config/ehcache.xsd">

"f:\develop\ehcache" />

"1000"

maxelementsondisk="10000000"

eternal="false"

overflowtodisk="false"

timetoidleseconds="120"

timetoliveseconds="120"

diskexpirythreadintervalseconds="120"

memorystoreevictionpolicy="lru">

屬性說明:

diskstore:指定資料在磁碟中的儲存位置。

defaultcache:當借助cachemanager.add("democache")建立cache時,ehcache便會採用指定的的管理策略

以下屬性是必須的:

maxelementsinmemory - 在記憶體中快取的element的最大數目

maxelementsondisk - 在磁碟上快取的element的最大數目,若是0表示無窮大

eternal - 設定快取的elements是否永遠不過期。如果為true,則快取的資料始終有效,如果為false那麼還要根據timetoidleseconds,timetoliveseconds判斷

overflowtodisk - 設定當記憶體快取溢位的時候是否將過期的element快取到磁碟上

- 第三步:開啟ehcache快取
xml檔案,在cache中指定ehcachecache。

<

cache

type

="org.mybatis.caches.ehcache.ehcachecache"

/>

根據需求調整快取引數:

type="org.mybatis.caches.ehcache.ehcachecache" >

name="timetoidleseconds"

value="3600"/>

name="timetoliveseconds"

value="3600"/>

name="maxentrieslocalheap"

value="1000"/>

name="maxentrieslocaldisk"

value="10000000"/>

name="memorystoreevictionpolicy"

value="lru"/>

cache>

MyBatis快取技術

為了提公升查詢效率,提高使用者體驗,mybatis提供了資料快取支援,依據資料快取的有效範圍預設定義了一級快取和二級快取 1 該級快取預設開啟,不能關閉 2 該級快取為sqlsession級別的快取,也稱為本地快取 效果如下 public static void main string args c...

mybatis 一 快取技術

mybatis 預設開啟一級快取,sqlsession 級別的,它會出現髒讀的情況,比如說你在乙個service 方法中執行了三個sql語句,第乙個查詢sql語句,第二個更新sql語句,第三個查詢sql語句,第一次執行查詢sql語句的時候會將sql和對應的結果集儲存在乙個hashmap中,但是更新s...

hibernate快取,mybatis快取詳解

hibernate的快取有一級快取,二級快取,查詢快取。一級快取 很簡單,session級別的快取,通過get,update可以將物件放到一級快取中。二級快取 sessionfactory級別的快取,通過get,list可以將物件放到二級快取中,這裡我必須細講一下,list雖然能夠把物件放入二級快取...