mybatis的快取機制
阿新 • • 發佈:2018-12-17
快取
將資料儲存在記憶體中,提高資料的訪問速度。
經常使用而且幾乎不做修改的資料適合放在快取中。
快取中的資料一般都要求和磁碟上的資料是同步的。
Mybaits的快取機制
Mybatis快取分為一級快取和二級快取。
一級快取
一級快取又叫session級別的快取。自動開啟。
案例:
第一次執行查詢時,是真的執行了查詢sql。
第二次執行的時候,其實是從快取中查詢,所以沒有執行sql。
Mybaits在查詢資料時,會首先從快取中查詢,如果查詢到了就不會再向資料庫查詢。如果查詢不到就會從資料庫查詢,並且向快取放置一條查詢出來的資料。
如果執行了清空快取的操作,則快取中資料就沒有了。
關閉session,開啟另外一個session。
在統一sqlSession管理範圍以內同樣可以重新整理快取。
修改了查詢的引數或者查詢的sql
第一次引數為10,查詢資料會放在快取中。
第二次引數為36,會更新快取(將第二次查詢的資料加入到快取中);
第三次引數為10,直接從快取獲取。
如果更新了快取中的資料,快取會清空。
二級快取
二級快取是sessionFactory級別的快取(跨越了兩個session),是需要手動開啟的。
手動開啟方式:
開啟全域性快取
配置:
在對映檔案中新增配置:
測試: