Mybatis開啟二級緩存的方法
開啟步驟
1.在 mybatis-config.xml 的配置文件中進行顯示配置,開啟二級緩存(全局緩存)
2.在 Mapper.xml 文件中添加cache標簽
一、開啟全局緩存
在Mybatis的官方文檔中可以看出已經默認開啟了二級緩存
但為了代碼的可讀性,在團隊開發中為了方便的告訴隊員你使用了二級緩存,這時候需要在 mybatis-config.xml 的配置文件中手動添加開啟設置。二級緩存是基於namespace級別的,一個命名空間對應一個二級緩存。
<settings>
<!--顯示的開啟全局緩存-->
<setting name="cacheEnabled" value="true"/>
</settings>
二、在 Mapper.xml 文件中添加cache標簽
在要使用二級緩存的Mapper.xml文件中添加cache標簽
<!--在當前 Mapper.xml文件開啟二級緩存-->
<cache/>
也可以自定義cache標簽參數
<cache eviction="FIFO" flushInterval="60000" size="512" readOnly="true"/>
eviction:清除策略為FIFO緩存,先進先出原則,默認的清除策略是 LRU
flushInterval:屬性可以被設置為任意的正整數,設置的值應該是一個以毫秒為單位的合理時間量
size:最多可以存儲結果對象或列表的引用數
readOnly:只讀屬性,可以被設置為 true 或 false。
三、注意點
我們在使用緩存的時候要記得序列化實體類,否則會拋出實體類未序列化異常
需要在實體類添加 implements Serializable
總結
- 二級緩存是基於namespace級別的,在同一個Mapper下有效
- 所有的數據都會先放在一級緩存中
- 只有當會話提交或關閉時,才會提交到二級緩存中
文章參考:
1.Mybatis官方文檔
2.狂神說視頻