Mybatis 快取機制 四

2021-10-02 03:37:56 字數 1313 閱讀 1304

快取:暫時的儲存一些資料;加快系統的查詢速度…

cpu:

主頻:4-2.7ghz

記憶體:4g-8g 1333mhz 2166mhz

cpu:一級快取(4mb);二級快取 (16mb);

資料庫互動;

employee employee = employdao.getempbyid(1);

mybatis快取機制:map;能儲存查詢出的一些資料;

一級快取:執行緒級別的快取;本地快取;sqlsession級別的快取;

二級快取:全域性範圍的快取;除過當前執行緒;sqlsession能用外其他也可以使用;

一級快取:mybatis:sqlsesion級別的快取;預設存在;

機制:只要之前查詢過的資料,mybatis就會儲存在乙個快取中(map);下次獲取直接從快取中拿;

一級快取失效的幾種情況:

1、不同的sqlsession對應不同的一級快取

2、同乙個sqlsession但是查詢條件不同

3、同乙個sqlsession兩次查詢期間執行了任何一次增刪改操作

4、同乙個sqlsession兩次查詢期間手動清空了快取

二級快取:namespace級別的快取;

一級快取;sqlsession關閉或者提交以後,一級快取的資料會放在二級快取中;

mybatis預設沒有使用的;配置;

二級快取的使用:

1、全域性配置開啟二級快取

<

!-- 開啟全域性快取開關; --

>

"cacheenabled" value=

"true"

/>

2、配置某個dao.xml檔案,讓其使用二級快取

<

/cache>

1、導包

ehcache-core-2.6.8.jar(ehcache核心包)

mybatis-ehcache-1.0.3.jar(ehcache的整合包)

slf4j-api-1.7.21.jar

slf4j-log4j12-1.7.21.jar

2、ehcache要工作有乙個配置檔案;

檔案名叫ehcache.xml;放在類路徑的根目錄下
4、別的dao還要用這個快取;

快取引用cache-ref

mybatis快取機制

mybatis和hibernate一樣,也提供了一二級快取。若存在一二級快取,則資料不會去資料庫互動,而是去記憶體中獲取。一級快取是sqlsession級別的快取。在運算元據庫時需要構造sqlsession物件,在物件中有乙個資料結構 一般來說是hashmap 來儲存快取資料。不同的sqlsessi...

MyBatis 快取機制

mybatis 提供了查詢快取來獲取資料,以提高查詢的效能。mybatis 的快取分為一級快取和二級快取。1 一級快取一級快取是 sqlsession 級別的快取,是基於 hashmap 的本地快取。不同的 sqlsession 之間的快取資料區域互不影響。當同乙個 sqlsession 執行兩次相...

Mybatis 快取機制

查詢快取主要是為了提高查詢訪問速度,即當使用者執行一次查詢後,會將該資料結果放到快取中,當下次再執行此查詢時就不會訪問資料庫了而是直接從快取中獲取該資料。如果在快取中找到了資料那叫做命中。同一sqlsession 多次查詢同一sql時會使用快取 test public void testlocalc...