mybatis一級緩存和InnoDB一致性非鎖定讀

突然發現mybatis的一級緩存和InnoDB一致性非鎖定讀不謀而合啊

之前一直覺得 你開啓事務的情況下 查詢之後接下來如果繼續查詢 中間沒有增刪改,那你是查不到其他事務的修改的結果的。

現在發現InnoDB一致性非鎖定也是這樣啊 你開啓事務查詢會得到應該快照 所以mybatis的一級緩存不會帶來額外的問題,因爲就算你不緩存你查詢還是查不到新的。

不開啓事務就更加沒這個問題了。

那怎麼測試是一級緩存的原因還是InnoDB一致性非鎖定讀的問題?

將隔離級別設置成讀已提交,開啓事務,這樣不會讀取快照,然後看看是不是還是查詢舊的 如果是,那就是一級緩存。

在sequel pro等工具或者用原生jdbc接口, 開啓多個事務模擬,查詢到舊的就是一致性非鎖定讀

https://juejin.im/post/5bf168aae51d453b8e54442c

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