日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产亚洲精品久久久久婷婷瑜伽 | 成人狠狠干 | 久久午夜免费视频 | 国产亚洲精品美女 | 欧美亚洲少妇 | 牛牛影视一区二区三区 | 玖玖在线免费视频 | 婷婷丁香六月 | 中字幕视频在线永久在线观看免费 | 一区=区三区乱码 | 无码人妻丰满熟妇区五十路 | 99热国产精品| 日本三级免费看 | 中文亚洲字幕 | 亚洲av无码一区二区乱子仑 | 韩日av一区二区 | 欧美国产另类 | 丝袜美腿亚洲综合 | 天天躁日日躁aaaxxⅹ | 少妇一夜三次一区二区 | 亚洲国产精品国自产拍久久 | 手机av在线网 | 亚洲免费在线视频观看 | 国产专区在线 | 国产69精品一区二区 | 午夜视频导航 | 麻豆91精品91久久久 | 亚洲免费黄网 | 99成人在线 | 久草在在线| 岛国av免费观看 | 农民人伦一区二区三区 | 青青青青青草 | 亚洲av中文无码乱人伦在线视色 | 国产精品成人一区 | 亚洲 小说区 图片区 都市 | 干欧美 | 一级a性色生活片久久无 | 驯服少爷漫画免费观看下拉式漫画 | 免费看黄色三级三级 | 国产高潮又爽又无遮挡又免费 | 久久精品久久久久久久 | 91视频中文字幕 | 国产av电影一区二区三区 | 国产精品免费一区 | 国产精品91在线观看 | 最近2018年手机中文字幕版 | 久久色婷婷 | 91久久伊人| 日韩精品免费一区二区夜夜嗨 | 亚洲hh| 天天艹 | 少妇人妻在线视频 | 制服丝袜在线一区 | 2019毛片 | 成年人在线观看视频网站 | 深夜福利网址 | 精品一区二区三区视频日产 | 性感美女一区二区三区 | 国产三级一区二区 | 亚州av免费| 九色精品在线 | 国产aaaaaaa | 亚洲国产精选 | 亚洲欧美日韩综合 | 波多野结衣免费看 | 50部乳奶水在线播放 | 91无毒不卡 | 亚洲国产精品久久久久 | yjizz视频网 国产乱人对白 | 久艹在线观看视频 | 日韩一区二区三区视频 | 国产一区二区三区四 | 日韩精品一区二区三区在线视频 | 永久免费未满蜜桃 | 亚洲日本视频在线观看 | 99国产精品自拍 | 久久久精品视频在线 | 日本免费视频 | 可以免费观看av的网站 | 中文字幕一区二区三区电影 | 黄色在线免费观看网站 | 欧美日韩图片 | 激情欧美网站 | 三级在线网址 | 丝袜国产视频 | 在线视频 亚洲 | 欧美人妻精品一区二区三区 | 色香欲综合网 | 一区二区高清在线观看 | 麻豆伊甸园 | 日韩av毛片 | 黑人巨大猛交丰满少妇 | 久久国产色av免费观看 | 免费观看日批视频 | 欧美一级性生活视频 | 高清中文字幕av | 黄色一极视频 | 2021国产精品视频 |