您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何進行Mybaitis的緩存優化,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
我們先來看代碼
這段代碼中, Mybatis一共發了兩條SQL,這就好像說, Mybatis中沒有緩存,然后我們打開Mybatis的文檔一看,頓時震驚
這難道是騙人的,說好的默認開啟緩存呢…..
其實不是的,默認確實是開啟緩存的,但是我們還需要配置一點東西
UserMapper.xml
另外,對象還要實現序列化接口,否則報NotSerializableException
的異常
設置完畢之后,我們再來嘗試insert
的問題
此時發現,發了3條SQL,那么究竟是什么原因呢?如下圖
看完這個圖,就明白為什么get(1L)->add()->get(1L)
這個過程會發3條SQL了,因為insert
的時候,清空了緩存
但是就算insert
,并沒有影響到get(1L)
的結果,但是你卻把他的緩存也清空了,這明顯不合理,那么我們怎么優化呢?
那么我們可不可以這樣做呢?如圖:
也就是我們做了兩件事
list
由于緩存命中率低,那么我們就不加入到緩存中
insert
我們不清空緩存
那么在代碼中,我們具體是怎么實現的呢?
UserMapper.xml
關于如何進行Mybaitis的緩存優化就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。