Mybatis一級快取和二級快取的理解

2021-10-06 05:54:19 字數 441 閱讀 6951

一級快取:執行緒級別的快取,本地快取,是sqlsession級別的快取,預設開啟

二級快取:全域性範圍的快取,其他sqlsession也能使用,是namespace級別的快取,手動開啟

當我們乙個查詢語句過來時,先走去二級快取中看有沒有這個快取,如果沒有命中,才會去一級快取中拿取快取,如果一級快取中也沒有命中,那麼我們這時候才會直接走資料庫,當我們走資料庫查詢到了這條記錄,然後我們會將這條記錄快取到一級快取中,當我們一級快取關閉時,才會將一級快取中的資料快取到二級快取中。

usecache:是否使用二級快取

flushcache:清空快取(同時清空一級快取和二級快取),查詢預設是false

sqlsession.clearcache():清空一級快取

當在某乙個作用域中進行了c/u/d操作,預設該作用下的所有select的快取將會被clear

二級快取通過手動開啟

關閉二級快取 Mybatis一級快取 二級快取詳講

首先,我們先看一下這個標題 查詢快取 那就說明跟增 刪 改是沒有任何關聯的,只有在查詢時,才會遇到快取,增刪改不涉及!查詢快取目前mybatis中提供了兩個,分別是 一級快取 二級快取 所以,sqlsession的快取,是屬於一級快取 那,又有什麼用呢?比如,我們現在資料庫中有兩條資料,分別是張三跟...

mybatis查詢快取之一級快取和二級快取詳細解析

一級快取是mybatis預設就幫我們開啟的,我們不需要多做配置,但是我們得知道其中原理,否則我們也不知道怎麼使用,也不知道我們到底有沒有一級快取。上面第二部分說過一級快取的作用域是同乙個sqlsession,sqlsession的作用就是建立和資料庫的會話,我們對資料庫表的增刪改查都是通過sqlse...

mybatis 快取(一級和二級快取)

1.快取 好處 快取的使用演示 1 sql語句或查詢條件不同 2 分屬不同sqlsession物件 3 查詢前執行clearcache 4 提交事務 2.一級快取 3.二級快取 跟 web應用中 物件作用範圍類似。cacheenabled value true flushinterval 快取重新整...