25Mybatis 查詢快取的基本知識

2021-09-08 15:06:14 字數 282 閱讀 3762

mybatis提供查詢快取,用於減輕資料壓力,提高資料庫效能。

mybaits提供一級快取,和二級快取。

一級和二級快取的示意圖:

一級快取是sqlsession級別的快取。在運算元據庫時需要構造 sqlsession物件,在物件中有乙個資料結構(hashmap)用於儲存快取資料。不同的sqlsession之間的快取資料區域(hashmap)是互相不影響的。就是說每個sqlsession都有各自快取。

為什麼要用快取?

如果快取中有資料就不用從資料庫中獲取,大大提高系統效能。

MyBatis查詢快取

一級快取 同乙個sqlsession物件,mybatis預設開啟一級快取。如果用同樣的sqlsession物件查詢相同的資料,則只會在第一次查詢時向資料庫傳送sql語句,並將查詢結果放入到sqlsession中 作為快取存在 後續再次查詢該同樣的物件時,則直接從快取中查詢該物件即可 即省略了資料庫的...

mybatis 多次查詢快取的問題

size medium 最近在使用mybatis的過程中,發現乙個問題。如果在同乙個事物中,多次同乙個查詢sql在mybatis的執行過程中,只會查詢一次資料庫,後幾次所返回的物件是mybatis在在內部做了快取。size property property this.findbypropertyi...

mybatis的一級查詢快取

之所以需要查詢快取主要是為了提高查詢訪問速度,就是當使用者執行一次查詢後,會將該資料結果放到快取中,當下次再執行此查詢時就不會訪問資料庫了而是直接從快取中獲取該資料。如果在快取中找到了資料那叫做命中。在mybatis中有一級快取和二級快取兩種快取方式。當乙個 sqlsession 結束後,該 sql...