Mysbatis一級快取和二級快取

2021-09-26 13:39:58 字數 855 閱讀 1278

mysbatis一級快取

一級快取是sqlsession級別的快取,快取對資料庫的操作的結果,如果下一次使用者再執行相同的請求,那麼直接從記憶體中讀取而不是從資料庫讀取。

一級快取失效的情況:

1.只對當前sqlsession物件生效,對於其他的sqlsession來說不起作用

2.是當前sqlsession物件,但是執行的是不同條件的sql查詢語句。

3.同乙個sqlsession物件執行同一條件的查詢語句,但中間執行了增刪改的操作,之前一級快取中的資料會失效。如果執行的是不同條件的查詢語句,一級快取仍然生效,並且會把新的查詢資料也加入到一級快取中。

4.多次相同查詢語句在執行期間通過sqlsession.clearcache();方法清除了快取

5.sqlsession 物件呼叫了close()方法,當前會話結束,一級快取不再生效。

mysbatis級快取

儲存順序:每個sqlsession在執行查詢操作的時候,都會將查詢的結果放在當前會話的一級快取中。如果當前會話關閉,一級快取中的資料會被儲存在二級快取中。因此二級快取是在一級快取的基礎上進行擴充套件的,不同的namespace查出的資料都會將資料存在自己對應的快取中,這些快取資訊使用map儲存。

查詢順序:mybatis 在開啟二級快取的情況下,如果發出了一條sql 查詢語句,會先向二級快取中查詢是否有對應的快取資料,如果沒有再接著查詢一級快取中的資料,如果一級快取中也沒有對應的快取資料,才會向資料庫傳送sql。

一級快取和二級快取

引自 許多人認為,快取 是記憶體的一部分 許多技術文章都是這樣教授的 但是還是有很多人不知道快取在什麼地方,快取是做什麼用的 其實,快取是cpu的一部分,它存在於cpu中 cpu訪問資料的速度非常的快,一秒鐘能夠訪問 處理十億條指令和資料 術語 cpu主頻1g 而記憶體就慢很多,快的記憶體能夠達到幾...

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

快取可以將資料儲存在記憶體中,是網際網路系統常常用到的。目前流行的快取伺服器有 mongodb redis ehcache 等。快取是在計算機記憶體上儲存的資料,讀取時無需再從磁碟讀入,因此具備快速讀取和使用的特點。和大多數持久化框架一樣,mybatis 提供了一級快取和二級快取的支援。預設情況下,...

一級快取,二級快取

首先補充下cpu的知識 cpu也就是 處理器,相當於計算機的大腦 cpu是一塊超大規模的積體電路,是一台計算機的運算核心 core 和控制核心 control unit cpu功能主要是解釋計算機指令以及處理計算機軟體中的資料 處理器主要包括運算器 算術邏輯運算單元,alu,arithmetic l...