日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis缓存机制

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis缓存机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 緩存介紹
  • 一級緩存
    • 二級緩存
      • 二級緩存使用步驟
    • 二級緩存和一級緩存的區別:

緩存介紹

緩存主要是對查詢起作用,減輕數據庫的壓力,提高數據庫的性能
mybatis中提供了一級緩存、二級緩存

一級緩存是SQLSession級別的緩存,同一個SQLSession上的查詢可以使用一級緩存,不同的SQLSession緩存是相互獨立的,互不影響

二級緩存是mapper級別的緩存,多個SQLSession會命中二級緩存,及二級緩存可以在多個SQLSession之間共享

一級緩存

一級緩存是SQLSession級別緩存,一級緩存的作用域是一個SQLSession,在同一個sqlsession下兩次執行相同的SQL查詢操作,第一次執行完畢后會將數據庫中查詢的數據寫入緩存,第二次會從緩存中獲取數據則不從數據庫中獲取,提高查詢效率,當SQLSession結束,緩存也就隨之失效
mybatis是默認開啟一級緩存


注意:緩存起作用是對同一個數據而言,必須是連續的查詢操作,第一次操作之后緩存會起作用,在第一次查詢之后對同一個數據做變更/刪除操作,緩存會被清空,后續查詢中的第一個查詢是需要到數據庫查詢

一級緩存測試:

mybatis默認支持的,不需要配置

同一個session下連續查詢操作:

二級緩存

mybatis的二級緩存是mapper級別的緩存,默認是關閉的
對同一個mapper其不同的SQLSession可以共享二級緩存,不同的mapper是相互獨立的

二級緩存的使用需要打開二級緩存配置,映射的java對象實現序列化

二級緩存使用步驟

1、在mybatis的全局配置文件中打開二級緩存的開關

<settings><!--二級緩存的配置信息--><setting name="cacheEnabled " value="true"/></settings>

2、將映射的對象實現序列化

public class Student implements Serializable

3、在mapper中使用cache標簽

<!--cache標簽flushInterval(刷新時間) 是正整數,單位是毫秒,默認不設置,即沒有刷新時間size(引用數據) 正整數,默認1024,記錄是緩存的對象的數目readOnly(只讀) eviction:給定緩存回收策略LRU:最近最少使用的,移除長時間不使用緩存對象FIFO:先進先出,按照對象進入緩存的順序來移除對象soft:軟引用:移除基于垃圾回收狀態和軟引用規則的對象weak:弱引用:移除弱引用所作用的對象--><cache flushInterval="60000" size="512" readOnly="true" eviction="LRU"/>

二級緩存的測試:

useCache:配置禁用緩存
在Statement上設置useCache="false"禁用select查詢的二級緩存,即每次查詢都會去數據庫,不使用二級緩存

二級緩存和一級緩存的區別:

二級緩存的范圍更大,多個SQLSession可以共享一個mapper中的二級緩存,
每一個mapper都有一個二級緩存,如果mapper的namespace如果相同,這兩個mapper執行查詢SQL查詢到的數據將存在相同的二級緩存區域中

一級緩存,二級緩存 SQLSession->defaultSqlSession ->CachingExecutor
一級緩存:LocalCache
二級緩存:tcm
執行優先級源碼

public <E> List<E> query(MappedStatement ms, Object parameterObject, RowBounds rowBounds, ResultHandler resultHandler, CacheKey key, BoundSql boundSql) throws SQLException {Cache cache = ms.getCache();if (cache != null) {//是否為二級緩存this.flushCacheIfRequired(ms);if (ms.isUseCache() && resultHandler == null) {this.ensureNoOutParams(ms, parameterObject, boundSql);List<E> list = (List)this.tcm.getObject(cache, key);if (list == null) {list = this.delegate.query(ms, parameterObject, rowBounds, resultHandler, key, boundSql);this.tcm.putObject(cache, key, list);}return list;}}return this.delegate.query(ms, parameterObject, rowBounds, resultHandler, key, boundSql);}

總結

以上是生活随笔為你收集整理的mybatis缓存机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 福利视频在线免费观看 | 亚洲日本中文字幕 | 亚洲欲| 一区二区三区波多野结衣 | 波多野结衣在线一区 | 永久免费无码av网站在线观看 | 国产精品无码成人网站视频 | 91亚洲精品久久久蜜桃 | 性www| 91欧美激情一区二区三区 | 国产欧美精品在线 | 在线色av| 处女朱莉 | 日日色av| 亚洲色图欧美自拍 | 91精产国品一二三区在线观看 | 国产精品美女在线 | 亚洲又粗又长 | 国产无遮挡免费视频 | 日本视频网站在线观看 | 秋霞精品一区二区三区 | 五月婷在线观看 | 色老头一区二区三区 | 最新av中文字幕 | 邻家有女4完整版电影观看 欧美偷拍另类 | 亚洲福利小视频 | 欧美无砖砖区免费 | 日韩天堂在线观看 | 东京久久久 | 国产视频xxxx | 狠狠热视频| 最新中文字幕在线视频 | 99久久精品一区二区 | 青青国产在线观看 | 国产美女网站视频 | 无人在线观看高清视频 单曲 | 中国人与拘一级毛片 | 精品国产污污免费网站入口 | 成片免费观看视频大全 | 日日射日日操 | 亚洲免费久久 | 中国18videosex极品 | 欧美日韩国产大片 | 97久久免费视频 | 无码丰满熟妇 | 亚欧成人 | 影音先锋中文字幕第一页 | 99福利网| 久热网| 欧美精品久久99 | 福利视频在线播放 | 久久亚洲国产成人精品性色 | 久久久久亚洲av片无码下载蜜桃 | 在线免费看mv的网站入口 | 玖玖精品 | 黄色免费小视频 | 高清中文字幕 | 成年网站免费观看 | 五月在线视频 | 亚洲伦理一区 | 久久精品日 | 在线观看网站污 | 丝袜脚交免费网站xx | 久久久久久久久久久久电影 | av免费看网站 | 白浆导航| 另类视频在线观看 | 日韩激情免费 | 国产精品久久久久久久久久久久久久 | 日韩人妻精品一区二区 | 中文字幕乱码人妻无码久久 | 男生和女生一起差差差视频 | 亚洲成人日韩 | 国内自拍真实伦在线观看 | 国产麻豆成人传媒免费观看 | 亚洲欧美在线一区 | www色综合 | 日批免费网站 | 拔萝卜91 | 国产视频二区三区 | 亚洲另类春色 | 亚洲精品久久久 | 国内精品视频在线 | 亚洲精品一卡二卡 | 日本成人综合 | 亚洲自拍色图 | 午夜影院免费 | 久久亚洲AV无码专区成人国产 | 91在线观看免费高清 | 久久久久区 | 精品福利一区 | 最新中文字幕免费 | 伊人久操 | 亚洲av中文无码乱人伦在线视色 | 亚洲综合在线网 | 成人宗合网 | 日本一区二区三区免费观看 | 国产成人无码精品久在线观看 | 日本美女视频网站 |