日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MyBatis緩存實現原理及代碼實例解析

瀏覽:189日期:2023-10-23 08:10:51

一、一級緩存(本地緩存)

sqlSession級別的緩存。一級緩存是一直開啟的;SqlSession級別的一個Map與數據庫同一次會話期間查詢到的數據會放在本地緩存中。以后如果需要獲取相同的數據,直接從緩存中拿,沒必要再去查詢數據庫;

一級緩存失效情況(沒有使用到當前一級緩存的情況,效果就是,還需要再向數據庫發出查詢):

1、sqlSession不同

2、sqlSession相同,查詢條件不同。(當前一級緩存中還沒有這個數據)

3、sqlSession相同,兩次查詢之間執行了增刪改操作(這次增刪改可能對當前數據有影響)

4、sqlSession相同,手動清除了一級緩存。

二、二級緩存(全局緩存)

基本namespace級別的緩存:一個namespace對應一個二級緩存:

工作機制:

1、一個會話,查詢一條數據,這個數據就會被放在當前會話的一級緩存中:

2、如果會話關閉:一級會話中的緩存會被保存到二級緩存中;新的會話查詢信息,就可以參照二級緩存中的內容。

3、不同namespace查出的數據會放在自己對應的緩存中(map)

效果:數據會從二級緩存中獲取,查出的數據會默認先放在一級緩存中,只有會話提交或者關閉以后,一級緩存中的數據才會轉移到二級緩存中

4、如何開啟二級緩存:

①開啟全局二級緩存配置:

<setting name='cacheEnabled' value='true'/>

②去mapper.xml中配置使用二級緩存:

<cache></cache>

③對應的POJO實現序列化接口

5、和緩存有關的設置屬性

①cacheEnabled=true:false:關閉緩存(二級緩存關閉)(一級緩存一直可用的)

②每個select標簽都有useCache='true':false:不使用緩存(一級緩存依然使用,二級緩存不使用)

③ 每個增刪改標簽的:flushCache='true':(一級二級都會清除)

④sqlSession.clearCache();只是清楚當前session的一級緩存;

⑤全局配置localCacheScope:

本地緩存作用域:(一級緩存SESSION);當前會話的所有數據保存在會話緩存中;

STATEMENT:可以禁用一級緩存。

6、第三方緩存整合

①導入第三方緩存包即可;

②導入與第三方緩存整合的適配包;官方有;

③mapper.xml中使用自定義緩存

使用Ehcache緩存框架

<cache type='org.mybatis.caches.ehcache.EhcacheCache'></cache>

7、cache標簽配置參數: 

<cache eviction='FIFO' flushInterval='60000' readOnly='false' size='1024'></cache>

eviction:緩存的回收策略:

• LRU ? 最近最少使用的:移除最長時間不被使用的對象。• FIFO ? 先進先出:按對象進入緩存的順序來移除它們。• SOFT ? 軟引用:移除基于垃圾回收器狀態和軟引用規則的對象。• WEAK ? 弱引用:更積極地移除基于垃圾收集器狀態和弱引用規則的對象。• 默認的是 LRU。

flushInterval:緩存刷新間隔

緩存多長時間清空一次,默認不清空,設置一個毫秒值。

readOnly:是否只讀:

true:只讀;mybatis認為所有從緩存中獲取數據的操作都是只讀操作,不會修改數據。mybatis為了加快獲取速度,直接就會將數據在緩存中的引用交給用戶。不安全,速度快。

false:非只讀:mybatis覺得獲取的數據可能會被修改。mybatis會利用序列化&反序列的技術克隆一份新的數據給你。安全,速度慢

size:緩存存放多少元素;

type='':指定自定義緩存的全類名;實現Cache接口即可;

三、ehcache.xml配置

<?xml version='1.0' encoding='UTF-8'?><ehcache xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='../config/ehcache.xsd'> <!-- 磁盤保存路徑 --> <diskStore path='java.io.tmpdir'/> <defaultCache maxElementsInMemory='1' maxElementsOnDisk='10000000' eternal='false' overflowToDisk='true' timeToIdleSeconds='120' timeToLiveSeconds='120' diskExpiryThreadIntervalSeconds='120' memoryStoreEvictionPolicy='LRU'> </defaultCache></ehcache>

屬性說明:l diskStore:指定數據在磁盤中的存儲位置。l defaultCache:當借助CacheManager.add('demoCache')創建Cache時,EhCache便會采用<defalutCache/>指定的的管理策略

以下屬性是必須的:l maxElementsInMemory - 在內存中緩存的element的最大數目l maxElementsOnDisk - 在磁盤上緩存的element的最大數目,若是0表示無窮大l eternal - 設定緩存的elements是否永遠不過期。如果為true,則緩存的數據始終有效,如果為false那么還要根據timeToIdleSeconds,timeToLiveSeconds判斷l overflowToDisk - 設定當內存緩存溢出的時候是否將過期的element緩存到磁盤上

以下屬性是可選的:l timeToIdleSeconds - 當緩存在EhCache中的數據前后兩次訪問的時間超過timeToIdleSeconds的屬性取值時,這些數據便會刪除,默認值是0,也就是可閑置時間無窮大l timeToLiveSeconds - 緩存element的有效生命期,默認是0.,也就是element存活時間無窮大diskSpoolBufferSizeMB 這個參數設置DiskStore(磁盤緩存)的緩存區大小.默認是30MB.每個Cache都應該有自己的一個緩沖區.l diskPersistent - 在VM重啟的時候是否啟用磁盤保存EhCache中的數據,默認是false。l diskExpiryThreadIntervalSeconds - 磁盤緩存的清理線程運行間隔,默認是120秒。每個120s,相應的線程會進行一次EhCache中數據的清理工作l memoryStoreEvictionPolicy - 當內存緩存達到最大,有新的element加入的時候, 移除緩存中element的策略。默認是LRU(最近最少使用),可選的有LFU(最不常使用)和FIFO(先進先出)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费不卡在线视频| 国产精品二区影院| 香蕉久久国产| 国产aⅴ精品一区二区三区久久 | 一级欧洲+日本+国产| 欧美精品观看| 亚洲一区二区三区中文字幕在线观看| 欧美亚洲国产一区| 久久久777| 国产尤物精品| 中文字幕在线免费观看视频| 亚洲一区二区三区免费在线观看 | 乱一区二区av| 国产高潮在线| 国产激情久久| 国内一区二区三区| 麻豆精品久久久| 国产精品17p| 精品国产一区二| 欧美国产视频| 精品一区二区三区中文字幕视频| 亚洲欧美一区在线| 国产一区二区三区亚洲| 国产精品地址| 最近国产精品视频| 久久亚洲一区| 午夜在线观看免费一区| 亚洲资源网站| 日本不卡一区二区| 国产精品88久久久久久| 91精品蜜臀一区二区三区在线| 欧洲在线一区| 亚洲精品小说| 亚洲人亚洲人色久| 午夜视频一区二区在线观看| 亚洲欧美久久精品| 久久久免费人体| 日本特黄久久久高潮| 国产亚洲久久| 精品久久一区| 欧美日韩国产观看视频| 91精品国产91久久久久久黑人| 黑森林国产精品av| 免费国产自线拍一欧美视频| 最新国产精品| 国产精品videosex极品| 成人自拍av| 亚洲永久字幕| 日韩三级精品| 精品亚洲美女网站| 日韩午夜电影| 日韩欧美2区| 伊人网在线播放| 99久久亚洲精品蜜臀| 91久久黄色| 青青国产91久久久久久| 日韩电影在线视频| 久久99伊人| 欧美永久精品| 国产一区二区三区亚洲| 日韩欧美一区二区三区免费观看| 亚洲一区二区免费看| 欧美一区网站| 精品欧美一区二区三区在线观看| 日韩成人高清| 亚洲va久久| 97人人精品| 免费日韩av| 成人在线视频免费| 欧美日韩精品免费观看视频完整| 在线日韩中文| 麻豆国产欧美一区二区三区| 精品在线播放| 国产麻豆精品| 综合激情婷婷| 中文字幕在线免费观看视频| 亚洲深深色噜噜狠狠爱网站 | av最新在线| 亚洲精品人人| 国产中文在线播放| 日韩欧美高清一区二区三区| 久久高清免费| 久久精品99国产精品日本| 亚洲四虎影院| 麻豆精品视频在线| 性欧美精品高清| 激情综合五月| 国产精品亚洲一区二区在线观看| 久久精品欧美一区| 久久精品 人人爱| 视频一区二区不卡| 日本久久精品| 亚洲一区二区三区四区五区午夜| 亚洲精品日本| 国产综合色产| 国产精品亚洲成在人线| 久久亚洲影院| 日韩中文在线电影| 日韩精品a在线观看91| 在线人成日本视频| 欧美精品97| 日韩中文字幕区一区有砖一区 | 欧美午夜不卡| 蜜桃久久av| 日本成人精品| 国产不卡一区| 亚洲精品在线a| 亚洲综合电影| 亚洲精品三级| 尤物tv在线精品| 国产精品极品| 在线 亚洲欧美在线综合一区| 四虎精品永久免费| 免费看欧美美女黄的网站| 欧美日韩精品一区二区视频| 日本黄色精品| 亚洲精品88| 日本va欧美va瓶| 国产美女撒尿一区二区| 99热免费精品| 美女少妇全过程你懂的久久| 你懂的网址国产 欧美| 免费日韩一区二区| 国产精品久久国产愉拍| 91九色综合| 蜜桃传媒麻豆第一区在线观看| 亚洲免费婷婷| 日韩精品一区二区三区免费观影 | 蜜臀av在线播放一区二区三区 | 欧美日韩xxxx| 99成人在线视频| 久久青草久久| 老司机精品久久| 亚洲欧洲av| 国产免费av国片精品草莓男男 | 91精品国产自产观看在线| 91精品在线免费视频| 久久久精品国产**网站| 国产在线观看91一区二区三区 | 日本视频在线一区| 国产精品任我爽爆在线播放| 国产精品99一区二区| 激情综合网站| 香蕉人人精品| 蜜桃视频免费观看一区| 日本韩国欧美超级黄在线观看| 色婷婷狠狠五月综合天色拍| 亚洲一级二级| 性色一区二区| 国产日韩中文在线中文字幕| 久久精品九色| 欧美午夜精彩| 亚洲精品影视| 天堂√8在线中文| 青青草精品视频| 亚洲国产欧美日本视频| 精品欧美激情在线观看| 伊人影院久久| 国产在线观看91一区二区三区 | 午夜国产一区二区| 美女被久久久| 啪啪国产精品| 国产精品丝袜在线播放| 欧美日韩精品在线一区| 久久精品国产久精国产爱| 日韩中文字幕一区二区三区| 美腿丝袜亚洲三区| 欧美一区=区| 蜜臀久久99精品久久久久宅男 | 日韩欧美在线中字| 久久99精品久久久野外观看| 日本大胆欧美人术艺术动态| 久久天堂成人| 日韩精品麻豆| 国产日韩一区二区三区在线播放| 日韩av在线中文字幕| 精品中文字幕一区二区三区四区| 国产精品99久久免费观看| 午夜影院一区| 亚洲人成精品久久久| 精品三级在线| 黄色成人精品网站| 国产精品激情电影| 亚洲成人精选| 国产精品亚洲人成在99www| 老司机精品视频在线播放| 国产欧美日韩亚洲一区二区三区| 香蕉成人久久| 欧美黄色一区二区| 性一交一乱一区二区洋洋av| 不卡一区综合视频| 老司机精品视频在线播放| 人人爱人人干婷婷丁香亚洲| 91精品在线免费视频| 日韩av中文在线观看| 日韩高清中文字幕一区| 亚洲天堂av影院| 亚洲欧洲国产精品一区| 色婷婷综合网| 91看片一区|