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

溫馨提示×

溫馨提示×

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

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

MybatisPlus二級緩存怎么實現

發布時間:2022-04-06 11:02:21 來源:億速云 閱讀:475 作者:iii 欄目:開發技術

這篇文章主要介紹了MybatisPlus二級緩存怎么實現的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇MybatisPlus二級緩存怎么實現文章都會有所收獲,下面我們一起來看看吧。

一、序言

本文承接[Mybatis緩存體系探究],提供基于MybatisPlus技術可用于生產環境下的二級緩存解決方案。

MybatisPlus二級緩存怎么實現

1、前置條件

掌握MyBatis二級緩存的原理

有關MyBatis緩存原理內容,參考[Mybatis緩存體系探究]

選擇符合條件的MybatisPlus版本

本方案對MybatisPlus版本有嚴格的限制,使用版本不低于3.4.3.4,如果低于此版本,則無法滿足生產環境條件下的閉環需求。

正確處理連接(多表)查詢

正確的多表連接查詢,請參考[MybatisPlus連接查詢解決方案]

2、目標與收獲

如果應用有分布式緩存需求,那么直接棄用二級緩存的方案,直接選配業務層緩存方案。

假如應用沒有分布式場景,那么通過簡單改造,引入二級緩存,能夠極大提高響應效率。

二、原理分析

1、二級緩存

選用MybatisPlus來實現二級緩存最大的考量是其使用的單表操作,換而言之,正確的使用二級緩存的前提是不能使用傳統意義上的多表連接操作,否則一定存在緩存數據不能實時更新的情況。

2、緩存數據更新

所有的緩存數據必然涉及到數據更新,二級緩存同樣需要主動更新數據。二級緩存是以命名空間為單位的,換而言之同一個命名空間內的數據更新會自動觸發緩存更新(本質為數據失效)。查詢操作緩存數據,增加、修改、刪除數據使緩存失效。

自成體系的緩存更新與管理在提高了應用響應速度的同時降低了緩存管理的復雜度,有利于提高開發效率。

3、緩存的區別

這里提到的二級緩存有必要與三級緩存(業務緩存)做區分,二級緩存指DAO層緩存,使用緩存的目的是降低網絡IO對應用的影響;三級緩存指業務層緩存,主要是降低復雜計算對CPU性能的占用。

三、本地二級緩存

對于普通項目,使用內置本地二級緩存即能夠滿足需求,這里以MybatisPlus為例說明如何正確的使用二級緩存。

1、兩套API

MybatisPlus內置封裝兩套訪問數據庫的API,一是以BaseMapper為基礎的API,另一套是以AR為基礎的API,二者在使用二級緩存不可通用。表現形式是BaseMapper內置接口緩存的數據,使用AR內置接口更新數據時無法清楚緩存,至少到此版本尚不支持。

考慮到BaseMapper接口體系比較豐富,因此選擇保留BaseMapper體系接口而禁用AR接口,從機制上保證使用的是一套接口,從而調用增刪查改能夠實時刷新二級緩存。

需要指明的是Mapper層和Service層使用的是同一套接口,因此可放心使用。

2、緩存實現類型

默認二級緩存實現類型為PerpetualCache,此中類型的緩存要求被緩存的對象實現序列化接口。其它類型的本地緩存有EhCache、Caffeine等。

關于“MybatisPlus二級緩存怎么實現”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“MybatisPlus二級緩存怎么實現”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

个旧市| 潍坊市| 太保市| 长宁县| 宁安市| 金塔县| 荆门市| 武定县| 施甸县| 凌源市| 富阳市| 淮滨县| 封丘县| 龙南县| 闻喜县| 桑日县| 湛江市| 井冈山市| 伊春市| 乌兰县| 宁津县| 宁夏| 扎鲁特旗| 华池县| 文成县| 万州区| 阜城县| 清新县| 楚雄市| 图木舒克市| 大厂| 专栏| 平阳县| 怀远县| 上饶市| 会同县| 梧州市| 新田县| 都昌县| 崇明县| 牙克石市|