MyBatis3 X 系列 玩轉多級快取和懶載入

2021-10-06 11:16:22 字數 802 閱讀 4693

簡介:講解mybatis⼀級快取介紹和驗證

什麼是快取

程式經常要調⽤的物件存在記憶體中,⽅便其使⽤時可以快速調⽤,不必去資料庫或者其他持久化 裝置中查詢,主要就是提                    ⾼效能

mybatis⼀級快取

簡介:⼀級快取的作⽤域是sqlsession,同⼀個sqlsession中執⾏相同的sql查詢(相同的 sql和引數),第⼀次會去                       查詢資料庫並寫在快取中,第⼆次會直接從快取中取

基於perpetualcache 的 hashmap本地快取

預設開啟⼀級快取

失效策略:當執⾏sql時候兩次查詢中間發⽣了增刪改的操作,即insert、update、delete等操作 commit後會清空該sqlsession快取; ⽐如sqlsession關閉,或者清空等

簡介:講解mybatis⼆級快取和配置實操

mybatis⼆級快取

基於perpetualcache 的 hashmap本地快取,可⾃定義儲存源,如 ehcache/redis等

預設是沒有開啟⼆級快取

失效策略:執⾏同個namespace下的mapepr對映⽂件中增刪改sql,並執⾏了commit操作,會清 空該⼆級快取

注意:實現⼆級快取的時候,mybatis建議返回的pojo是可序列化的, 也就是建議實現 serializable接⼝

快取淘汰策略:會使⽤預設的 lru 演算法來收回(最近最少使⽤的)

mybatis 3 x 快取介紹

mybatis快取分為一級快取和二級快取 一級快取是基於 perpetualcache mybatis自帶 的 hashmap 本地快取,作用範圍為session,所以當session commit或close後,快取就會被清空.1 單獨使用mybatis而不繼承spring,使用原生的mybati...

mybatis 3 x 快取Cache的使用

1 namespace 23 cache 4eviction lru 5flushinterval 60000 6size 1024 7readonly true 8 9.10 這裡有幾個要注意的地方 eviction是快取的淘汰演算法,可選值有 lru fifo soft weak 預設值是lru...

MyBatis3 x整理 三 動態SQL

select id,name,sn,salary,deptid from employee where 1 1 and name like or sn like and salary and salary 0 and deptid select id,name,sn,salary,deptid fr...