7 MyBatis 快取機制

2021-08-21 20:50:26 字數 1319 閱讀 8959

sqlsession級別的快取

namespace接別的快取,乙個namespace對應乙個二級快取

乙個會話,查詢一條資料,這個資料就會被放在當前會話的一級快取中 ;

如果會話關閉,一級快取中的資料會被儲存到二級快取中,新的會話查詢資訊,就可以參照二級快取 ;

開啟 全域性配置cacheenabled全域性地開啟或關閉配置檔案中的所有對映器已經配置的任何快取。預設true對映配置cache– 給定命名空間的快取配置。

全域性配置cacheenabled

name=cacheenabled"

value="true"/>

settings>

對映配置cache
"fifo"

flushinterval="60000"

size="512"

readonly="true"/>

flushinterval(預設不清空):快取重新整理間隔(毫秒)

readonly(預設 false):

size:快取存放多少元素

type:指定全類名 > type 屬 性指 定的 類必 須實現 org.mybatis.cache.cache 介面。這個介面是 mybatis 框架中很多複雜的介面之一,但是簡單 給定它做什麼就行。

增刪改查的屬性

... flushcache="false" usecache="true"/>

... flushcache="true"/>

... flushcache="true"/>

... flushcache="true"/>

參照快取

回想一下上一節內容, 這個特殊命名空間的唯一快取會被使用或者重新整理相同命名空間內 的語句。也許將來的某個時候,你會想在命名空間中共享相同的快取配置和例項。在這樣的 情況下你可以使用 cache-ref 元素來引用另外乙個快取。

<

cache

-ref namespace=

/>

Mybatis總結(7) Mybatis快取

正如大多數持久層框架一樣,mybatis 同樣提供了一級快取和二級快取的支援 一級快取 基於perpetualcache 的 hashmap本地快取,其儲存作用域為session,當session flush 或 close之後,該session中的所有 cache 就將清空。2.二級快取,如 eh...

MyBatis學習7 MyBatis中的一級快取

快取的作用是減輕資料庫的壓力,提高資料庫的效能的。mybatis中提供了一級快取和二級快取,先來看一下兩個快取的示意圖 從圖中可以看出 一級快取是sqlsession級別的快取。在運算元據庫時需要構造sqlsession物件,在物件中有乙個資料結構 hashmap 用於儲存快取資料。不同的sqlse...

mybatis快取機制

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