正如大多數持久層框架一樣,mybatis 同樣提供了一級快取和二級快取的支援
一級快取
: 基於perpetualcache 的 hashmap本地快取,其儲存作用域為
session或之後,該session中的所有 cache 就將清空。
二級快取
並且可自定義儲存源,如 ehcache。
3. 對於快取資料更新機制,當某乙個作用域(一級快取session/二級快取namespaces)的進行了 c/u/d 操作後,預設該作用域下所有 select 中的快取將被clear。
1package
me.gacl.test;2
3 import
me.gacl.domain.user;
4 import
me.gacl.util.mybatisutil;
5 import
org.apache.ibatis.session.sqlsession;
6 import
org.junit.test;7
8 /**
9 *
@author
gacl10
* 測試一級快取
11 */
12 public
class
testonelevelcache
59 }
<2、測試二級快取namespace
>
<
cache
/>
11. 對映語句檔案中的所有select語句將會被快取。package
me.gacl.test;2
3 import
me.gacl.domain.user;
4 import
me.gacl.util.mybatisutil;
5 import
org.apache.ibatis.session.sqlsession;
6 import
org.apache.ibatis.session.sqlsessionfactory;
7 import
org.junit.test;8
9 /**
10 *
@author
gacl11
* 測試二級快取
12 */
13 public
class
testtwolevelcache
36 }
2. 對映語句檔案中的所有insert,update和delete語句會重新整理快取。
3. 快取會使用least recently used(lru,最近最少使用的)演算法來收回。
4. 快取會根據指定的時間間隔來重新整理。
5. 快取會儲存1024個物件
cache標籤常用屬性:
<cache
eviction
="fifo"
size="512"
readonly="true"/>
MyBatis學習總結 七 Mybatis快取
正如大多數持久層框架一樣,mybatis 同樣提供了一級快取和二級快取的支援 一級快取 基於perpetualcache 的 hashmap本地快取,其儲存作用域為session,當session flush 或 close之後,該session中的所有 cache 就將清空。2.二級快取,如 eh...
MyBatis學習總結 七 Mybatis快取
正如大多數持久層框架一樣,mybatis 同樣提供了一級快取和二級快取的支援 一級快取 基於perpetualcache 的 hashmap本地快取,其儲存作用域為session,當session flush 或 close之後,該session中的所有 cache 就將清空。2.二級快取,如 eh...
MyBatis學習總結 七 Mybatis快取
只為成功找方法,不為失敗找藉口!正如大多數持久層框架一樣,mybatis 同樣提供了一級快取和二級快取的支援 一級快取 基於perpetualcache 的 hashmap本地快取,其儲存作用域為session,當session flush 或 close之後,該session中的所有 cache ...