Mybatis | MyBatis 緩存機制

一級緩存

  1. 一級緩存模式是開啓狀態
  2. 一級緩存作用域在於SqlSession
  3. 如果中間有對數據的更新操作,則將清空一級緩存。

二級緩存

要使用二級緩存,需要經歷兩個步驟

1,開啓二級緩存

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

2,在Mapper.xml中,配置二級緩存(也支持在接口配置)
在標籤下面添加標籤即可

3,實體類實現序列化接口,serializable

默認的二級緩存配置會有如下特點:

2.1 所有的Select語句將會被緩存

2.2 所有的更新語句(insert、update、delete)將會刷新緩存

2.3 緩存將採用LRU(Least Recently Used 最近最少使用)算法來回收

2.4 緩存會存儲1024個對象的引用

回收算法建議採用LRU,當然,還提供了FIFO(先進先出),SOFT(軟引用),WEAK(弱引用)等其他算法。

二級緩存關鍵說明

當關閉了SqlSession之後,纔會將查詢數據保存到二級緩存中(SqlSessionFactory)中,
所以纔有了上述的緩存命中率。MyBatis的二級緩存默認採用的是Map的實現。

衍生

其實,我們在開發中,可以集成第三方的緩存來保存MyBatis的二級緩存,常用的有EhCache和Redis

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章