中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Mybatis如何實現配置二級緩存

發布時間:2020-11-19 15:53:04 來源:億速云 閱讀:141 作者:Leah 欄目:編程語言

這篇文章給大家介紹使用Mybatis如何實現配置二級緩存,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Mybatis的二級緩存配置相當容易,要開啟二級緩存,只需要在你的Mapper 

映射文件中添加一行:

<cache />

它將采用默認的行為進行緩存:

映射文件中所有的select語句將被緩存

映射文件中所有的insert、update和delete語句將刷新緩存

緩存將使用LRU(Least Recently Used)最近最少使用策略算法來回收

刷新間隔(no Flush Interval,沒有刷新間隔),緩存不會以任何時間順序來刷新

緩存會存儲列表集合和對象(無論查詢方法返回什么)的1024個引用

緩存會被視為read/write(可讀/可寫)的緩存,意味著對象檢索不是- 共享的,而且可以安全的被調用者修改,而不干擾其他調用者或者線程所做的潛在修改

所有這些屬性都可以通過緩存元素的屬性來修改,比如:

 <!--1小時緩存-->
 <cache eviction="LRU"
   flushInterval="3600000" size="512"
   readOnly="true"/>

這個更高級的配置創建了一個FIFO緩存,并每隔3個小時刷新緩存,儲存結

果對象或列表的512個引用,而且返回的對象被認為是只讀的,因此在不同線程中的調用者之間修改他們會導致沖突。

可用的收回策略有:

【默認】LRU——最近最少使用的:移除最長時間不被使用的對象

FIFO——先進先出的:按對象進入緩存的順序來移除他們

SOFT——軟引用:移除基于垃圾回收器狀態和軟引用規則的對象

WEAK——弱引用:更積極地移除基于垃圾收集器狀態和弱引用規則的對象。

flushInterval(刷新間隔)可以被設置為任意的正整數(60*60*1000這種形式是不允許的),而且它們代表一個合理的毫秒形式的時間段。默認情況是不設置,也就是沒有刷新間隔,緩存僅僅調用語句時刷新。

size(引用數目)可以被設置為任意正整數,要記住你緩存的對象數目和你運行環境的可用內存資源數目。默認值是1024.

readOnly(只讀)屬性可以被設置為true或false。只讀的緩存會給所有調用者返回緩存對象的相同實例,因此這些對象不能被修改,這提供了很重要的性能優勢。可讀寫的緩存會返回緩存對象的拷貝(通過發序列化)。這會慢一些,但是安全,因此默認是false。

配置完表示該mapper映射文件中,所有的select語句都將被緩存,所有的insert、update和delete語句都將刷新緩存。但是實際中,我們并是希望這樣,有些select不想被緩存時,可以添加select的屬性useCache=“false”;有些insert、update和delete不想讓他刷新緩存時,添加屬性flushCache=”false ”。

關于使用Mybatis如何實現配置二級緩存就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

揭东县| 安岳县| 商水县| 平顶山市| 文化| 当涂县| 婺源县| 贺州市| 旌德县| 申扎县| 邵东县| 剑川县| 祁连县| 金山区| 大同市| 织金县| 格尔木市| 平塘县| 封丘县| 杂多县| 岚皋县| 灌南县| 建水县| 白山市| 龙山县| 琼海市| 五华县| 罗田县| 英德市| 武平县| 柳河县| 永靖县| 郓城县| 沿河| 崇州市| 易门县| 巴林左旗| 阿克苏市| 宜阳县| 贵定县| 汉中市|