1. 程式人生 > >mybatis 第六篇 MyBatis一級快取和二級快取

mybatis 第六篇 MyBatis一級快取和二級快取

一、一級快取

1.什麼是一級快取

每當我們使用mybatis開啟一次資料庫會話,mybaits就會建立一個sqlSession物件。 在一次資料庫會話中,當我們執行完全相同的sql語句,為了解決資源浪費,mybatis在sqlSession物件中建立一個快取來把查詢結果快取起來,如果sql語句完全相同,則直接從快取中取。 在這裡插入圖片描述 對於sqlSession級別的快取,我們稱之為一級快取。

2.一級快取的原理

首先我們要知道sqlSession只是mybatis一個對外介面,實際和資料庫互動靠的是Executor這個執行器,而快取資訊就維護在Executor裡面。MyBatis將快取和對快取相關的操作封裝成了Cache介面中。SqlSession、Executor、Cache之間的關係如下列類圖所示

3.一級快取的生命週期

4.一級快取的工作流程

5.Cache介面的設計以及CacheKey的定義

6.一級快取效能分析

二、二級快取