MyBatis 缓存详解-什么时候开启二级缓存?
生活随笔
收集整理的這篇文章主要介紹了
MyBatis 缓存详解-什么时候开启二级缓存?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一級緩存默認是打開的,二級緩存需要配置才可以開啟。那么我們必須思考一個問題,在什么情況下才有必要去開啟二級緩存?
1、因為所有的增刪改都會刷新二級緩存,導致二級緩存失效,所以適合在查詢為主的應用中使用,比如歷史交易、歷史訂單的查詢。否則緩存就失去了意義。
2、如果多個namespace 中有針對于同一個表的操作,比如Blog 表,如果在一個namespace 中刷新了緩存,另一個namespace 中沒有刷新,就會出現讀到臟數據的情況。所以,推薦在一個Mapper 里面只操作單表的情況使用。
思考:如果要讓多個namespace 共享一個二級緩存,應該怎么做?
跨namespace 的緩存共享的問題,可以使用<cache-ref>來解決:
<cache-ref namespace="com.leon.crud.dao.DepartmentMapper" />cache-ref 代表引用別的命名空間的Cache 配置,兩個命名空間的操作使用的是同一個Cache。在關聯的表比較少,或者按照業務可以對表進行分組的時候可以使用。
注意:在這種情況下,多個Mapper 的操作都會引起緩存刷新,緩存的意義已經不大了。
?
總結
以上是生活随笔為你收集整理的MyBatis 缓存详解-什么时候开启二级缓存?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis 缓存详解-二级缓存验证
- 下一篇: MyBatis 缓存详解-第三方缓存做二