1. 程式人生 > 實用技巧 >mybatis快取

mybatis快取

1、一級快取


配置:

我們來看看如何使用MyBatis一級快取。開發者只需在MyBatis的配置檔案中,新增如下語句,就可以使用一級快取。共有兩個選項,SESSION或者STATEMENT,預設是SESSION級別,即在一個MyBatis會話中執行的所有語句,都會共享這一個快取。一種是STATEMENT級別,可以理解為快取只對當前執行的這一個Statement有效。

mybatis全域性配置檔案定義,預設開啟 session級別
<setting name="localCacheScope" value="SESSION"/>

作用範圍:當前sqlSession中(一個會話中)

總結

  1. MyBatis一級快取的生命週期和SqlSession一致。
  2. MyBatis一級快取內部設計簡單,只是一個沒有容量限定的HashMap,在快取的功能性上有所欠缺。
  3. MyBatis的一級快取最大範圍是SqlSession內部,有多個SqlSession或者分散式的環境下,資料庫寫操作會引起髒資料,建議設定快取級別為Statement。

2、二級快取


配置

要正確的使用二級快取,mybatis全域性配置檔案需完成如下配置的。預設關閉

<setting name="cacheEnabled" value="true"/>

作用範圍:sqlSession間共享(同一個mapper介面)

總結:建議關閉 使用成熟的分散式快取如redis

參考:

https://tech.meituan.com/2018/01/19/mybatis-cache.html