Mybatis快取
mybatis提供查詢快取,用於減輕資料壓力,提高資料庫效能。
mybaits提供一級快取,和二級快取。
一級快取
一級快取是SqlSession級別的快取。在運算元據庫時需要構造 sqlSession物件,在物件中有一個(記憶體區域)資料結構(HashMap)用於儲存快取資料。不同的sqlSession之間的快取資料區域(HashMap)是互相不影響的。
一級快取的作用域是同一個SqlSession,在同一個sqlSession中兩次執行相同的sql語句,第一次執行完畢會將資料庫中查詢的資料寫到快取(記憶體),第二次會從快取中獲取資料將不再從資料庫查詢,從而提高查詢效率。當一個sqlSession結束後該sqlSession中的一級快取也就不存在了。Mybatis預設開啟一級快取。
二級快取
二級快取是mapper級別的快取,多個SqlSession去操作同一個Mapper的sql語句,多個SqlSession去運算元據庫得到資料會存在二級快取區域,多個SqlSession可以共用二級快取,二級快取是跨SqlSession的。
二級快取是多個SqlSession共享的,其作用域是mapper的同一個namespace,不同的sqlSession兩次執行相同namespace下的sql語句且向sql中傳遞引數也相同即最終執行相同的sql語句,第一次執行完畢會將資料庫中查詢的資料寫到快取(記憶體),第二次會從快取中獲取資料將不再從資料庫查詢,從而提高查詢效率。Mybatis預設沒有開啟二級快取需要在setting全域性引數中配置開啟二級快取(在mapper中使用cache標籤)。
如果快取中有資料就不用從資料庫中獲取,大大提高系統效能。
相關文章
- MyBatis 快取MyBatis快取
- mybatis快取-二級快取MyBatis快取
- 05、MyBatis 快取MyBatis快取
- Mybatis的快取MyBatis快取
- Mybatis(三) 快取MyBatis快取
- MyBatis快取機制(一級快取,二級快取)MyBatis快取
- Mybatis快取機制MyBatis快取
- MyBatis的快取玩法MyBatis快取
- Mybatis快取詳解MyBatis快取
- Mybatis 整合 ehcache快取MyBatis快取
- Mybatis的二級快取MyBatis快取
- mybatis的快取機制MyBatis快取
- day09-MyBatis快取MyBatis快取
- Mybatis二級快取使用MyBatis快取
- MyBatis 的快取機制MyBatis快取
- SpringBoot 下 Mybatis 的快取Spring BootMyBatis快取
- MyBatis框架原理3:快取MyBatis框架快取
- Mybatis的快取——一級快取和原始碼分析MyBatis快取原始碼
- mybatis快取之一級快取(一)MyBatis快取
- mybatis快取之一級快取(二)MyBatis快取
- Mybatis的二級快取、使用Redis做二級快取MyBatis快取Redis
- Mybatis延遲載入、快取MyBatis快取
- mybatis二級快取引數MyBatis快取
- 被mybatis一級快取坑了MyBatis快取
- Mybatis 二級快取應用 (21)MyBatis快取
- myBatis原始碼解析-快取篇(2)MyBatis原始碼快取
- mybatis延遲載入和快取MyBatis快取
- mybatis原始碼學習:一級快取和二級快取分析MyBatis原始碼快取
- Mybatis 一級快取和二級快取原理區別 (圖文詳解)MyBatis快取
- Mybatis【逆向工程,快取,代理】知識要點MyBatis快取
- Mybatis整合二級快取與同時使用快取與事務存在的坑MyBatis快取
- spring和mybatis中的連線池和快取SpringMyBatis快取
- mybatis快取,從一個“靈異”事件說起MyBatis快取事件
- Mybatis 一級快取和引發的問題MyBatis快取
- myBatis原始碼解析-二級快取的實現方式MyBatis原始碼快取
- Mybatis-聊一聊雞肋的快取體系MyBatis快取
- 快取穿透、快取擊穿、快取雪崩、快取預熱快取穿透
- mybatis基礎系列(四)——關聯查詢、延遲載入、一級快取與二級快取MyBatis快取
- 快取穿透、快取雪崩、快取擊穿快取穿透