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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

SpringBoot 缓存之 @Cacheable 详细介绍

發(fā)布時(shí)間:2025/3/21 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot 缓存之 @Cacheable 详细介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、簡(jiǎn)介

1、緩存介紹

Spring 從 3.1 開始就引入了對(duì) Cache 的支持。定義了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口來統(tǒng)一不同的緩存技術(shù)。并支持使用 JCache(JSR-107)注解簡(jiǎn)化我們的開發(fā)。

其使用方法和原理都類似于 Spring 對(duì)事務(wù)管理的支持。Spring Cache 是作用在方法上的,其核心思想是,當(dāng)我們?cè)谡{(diào)用一個(gè)緩存方法時(shí)會(huì)把該方法參數(shù)和返回結(jié)果作為一個(gè)鍵值對(duì)存在緩存中。



2、Cache 和 CacheManager 接口說明

  • Cache 接口包含緩存的各種操作集合,你操作緩存就是通過這個(gè)接口來操作的。

  • Cache 接口下 Spring 提供了各種 xxxCache 的實(shí)現(xiàn),比如:RedisCache、EhCache、ConcurrentMapCache

  • CacheManager 定義了創(chuàng)建、配置、獲取、管理和控制多個(gè)唯一命名的 Cache。這些 Cache 存在于 CacheManager 的上下文中。



小結(jié):

每次調(diào)用需要緩存功能的方法時(shí),Spring 會(huì)檢查指定參數(shù)的指定目標(biāo)方法是否已經(jīng)被調(diào)用過,如果有就直接從緩存中獲取方法調(diào)用后的結(jié)果,如果沒有就調(diào)用方法并緩存結(jié)果后返回給用戶。下次調(diào)用直接從緩存中獲取。



二、@Cacheable 注解使用詳細(xì)介紹

1、緩存使用步驟

@Cacheable 這個(gè)注解,用它就是為了使用緩存的。所以我們可以先說一下緩存的使用步驟:

1、開啟基于注解的緩存,使用 @EnableCaching 標(biāo)識(shí)在 SpringBoot 的主啟動(dòng)類上。

2、標(biāo)注緩存注解即可



① 第一步:開啟基于注解的緩存,使用 @EnableCaching 標(biāo)注在 springboot 主啟動(dòng)類上



② 第二步:標(biāo)注緩存注解

注:這里使用 @Cacheable 注解就可以將運(yùn)行結(jié)果緩存,以后查詢相同的數(shù)據(jù),直接從緩存中取,不需要調(diào)用方法。



2、常用屬性說明

下面介紹一下 @Cacheable 這個(gè)注解常用的幾個(gè)屬性:

  • cacheNames/value :用來指定緩存組件的名字

  • key :緩存數(shù)據(jù)時(shí)使用的 key,可以用它來指定。默認(rèn)是使用方法參數(shù)的值。(這個(gè) key 你可以使用 spEL 表達(dá)式來編寫)

  • keyGenerator :key 的生成器。 key 和 keyGenerator 二選一使用

  • cacheManager :可以用來指定緩存管理器。從哪個(gè)緩存管理器里面獲取緩存。

  • condition :可以用來指定符合條件的情況下才緩存

  • unless :否定緩存。當(dāng) unless 指定的條件為 true ,方法的返回值就不會(huì)被緩存。當(dāng)然你也可以獲取到結(jié)果進(jìn)行判斷。(通過 #result 獲取方法結(jié)果)

  • sync :是否使用異步模式。



① cacheNames

用來指定緩存組件的名字,將方法的返回結(jié)果放在哪個(gè)緩存中,可以是數(shù)組的方式,支持指定多個(gè)緩存。



② key

緩存數(shù)據(jù)時(shí)使用的 key。默認(rèn)使用的是方法參數(shù)的值??梢允褂?spEL 表達(dá)式去編寫。



③ keyGenerator

key 的生成器,可以自己指定 key 的生成器,通過這個(gè)生成器來生成 key。



這樣放入緩存中的 key 的生成規(guī)則就按照你自定義的 keyGenerator 來生成。不過需要注意的是:

@Cacheable 的屬性,key 和 keyGenerator 使用的時(shí)候,一般二選一。



④ condition

符合條件的情況下才緩存。方法返回的數(shù)據(jù)要不要緩存,可以做一個(gè)動(dòng)態(tài)判斷。



⑤ unless

否定緩存。當(dāng) unless 指定的條件為 true ,方法的返回值就不會(huì)被緩存。



⑥ sync

是否使用異步模式。默認(rèn)是方法執(zhí)行完,以同步的方式將方法返回的結(jié)果存在緩存中。

3、spEL 編寫 key

前面說過,緩存的 key 支持使用 spEL 表達(dá)式去編寫,下面總結(jié)一下使用 spEL 去編寫 key 可以用的一些元數(shù)據(jù):



總結(jié)

以上是生活随笔為你收集整理的SpringBoot 缓存之 @Cacheable 详细介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久精品2| 久久99精品久久久 | www.youjizz.com视频 | 国产欲妇| 在线观看精品视频 | 六月丁香综合 | 黑丝美女一区二区 | 一本色道久久综合亚洲精品 | 老司机深夜免费福利 | 日日网站 | 成人三级做爰av | 日韩免费av网站 | 国产精品一区二区av白丝下载 | 性高潮久久久久久久久 | 成人涩涩网站 | 亚洲av无码国产在丝袜线观看 | av制服丝袜在线 | 国产v亚洲 | 国模无码视频一区 | 黄色免费毛片 | 成人黄色一级 | 台湾佬在线 | 日韩国产在线一区 | 欧美做爰全过程免费看 | 国产成人精 | 一边吃奶一边摸做爽视频 | 久色免费视频 | 亚洲少妇网站 | 色妞av| 国产精品影音先锋 | 九九热在线观看 | 丰满少妇一区二区三区视频 | 成年人网站在线 | 日本人xxxxxxxxx泡妞 | 成人欧美视频在线观看 | 午夜写真片福利电影网 | 五月婷婷色 | 女人一级一片30分 | 中国老太婆性做爰 | 国产又粗又猛又爽又黄91精品 | 超碰在线中文字幕 | 重口另类| 91成人免费在线视频 | 日韩美女做爰高潮免费 | 男女视频国产 | 极品一区 | 欧美极品jizzhd欧美 | 可以看的av网址 | 香蕉影音| 一级色网站 | 人人人草 | 欧美日韩一区二区三区69堂 | 色又色| 东方欧美色图 | 黑白配在线观看免费观看 | 污的视频在线观看 | aa免费视频 | 国产女人高潮的av毛片 | 综合网亚洲 | 欧美图片一区 | 国产熟妇另类久久久久 | 国产91麻豆视频 | 久久狠狠爱 | 免费福利小视频 | 中国大陆一级毛片 | 久久综合社区 | 亚洲一级在线观看 | 欧美片17c07.com | 九热精品视频 | 91看视频| 看一级片 | 久久久久99精品成人片三人毛片 | 中文字幕在线观看线人 | 久久九九国产视频 | 射射综合网| 国产伦精品一区二区三区视频女 | 黄污视频在线播放 | 97在线播放 | 国产三级在线免费 | 国产在线视频网址 | 亚洲成人日韩在线 | 操操操爽爽爽 | 亚洲精品日韩丝袜精品 | 欧美日韩亚洲一区二区三区 | 久久国产经典 | 欧美精品在线看 | 亚洲久久天堂 | 亚洲欧美日韩中文在线 | 深夜福利影院 | 日韩一级色片 | 免费毛片在线播放 | 亚州国产精品视频 | 伊人avav| 日本妇乱大交xxxxx | 国产99在线播放 | 欧美日韩亚洲国产另类 | 国产日韩精品一区二区三区 | 亚洲国产天堂 | 日本一区二区不卡在线 |