1. 程式人生 > >mybatis的快取機制

mybatis的快取機制

快取

將資料儲存在記憶體中,提高資料的訪問速度。

經常使用而且幾乎不做修改的資料適合放在快取中。

快取中的資料一般都要求和磁碟上的資料是同步的。

Mybaits的快取機制

Mybatis快取分為一級快取和二級快取。

一級快取

一級快取又叫session級別的快取。自動開啟。

案例:

第一次執行查詢時,是真的執行了查詢sql。

第二次執行的時候,其實是從快取中查詢,所以沒有執行sql。

Mybaits在查詢資料時,會首先從快取中查詢,如果查詢到了就不會再向資料庫查詢。如果查詢不到就會從資料庫查詢,並且向快取放置一條查詢出來的資料。

如果執行了清空快取的操作,則快取中資料就沒有了。

關閉session,開啟另外一個session。

在統一sqlSession管理範圍以內同樣可以重新整理快取。

修改了查詢的引數或者查詢的sql

第一次引數為10,查詢資料會放在快取中。

第二次引數為36,會更新快取(將第二次查詢的資料加入到快取中);

第三次引數為10,直接從快取獲取。

如果更新了快取中的資料,快取會清空。

二級快取

二級快取是sessionFactory級別的快取(跨越了兩個session),是需要手動開啟的。

手動開啟方式:

開啟全域性快取

配置:

在對映檔案中新增配置:

測試: