最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redis的Cacheable注解使用及說明

 更新時間:2025年11月07日 11:05:47   作者:我曾遇到一束光  
文章介紹了如何在Java應(yīng)用中使用Spring的@Cacheable注解進(jìn)行緩存配置,包括注解的使用、key的生成方式、觸發(fā)條件(condition)和排除條件(unless)的設(shè)置,并強(qiáng)調(diào)了緩存的持久性和清除機(jī)制

引入依賴

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>2.1.1.RELEASE</version>
</dependency>

導(dǎo)入的使用較多的2.1.1依賴,版本過高可能會導(dǎo)致找不到加載類.

添加注解

主類中中加入注解@EnableCaching,

然后就可以在方法或者類上邊使用@Cacheable

  • @Cacheable 的作用 主要針對方法配置,能夠根據(jù)方法的請求參數(shù)對其結(jié)果進(jìn)行緩存
  • @Cacheable 作用和配置方法

value

  • 用來存放我們要保存的key的集合。類型為標(biāo)準(zhǔn)的String

key

  • 我們實際要保存到redis的key,可以增加參數(shù),以方法的參數(shù)或者屬性。類型為String,但是需要做處理。 需要將我們自定義的字符串以"’"括起來再與參數(shù)進(jìn)行拼接。
  • 如果需要用到方法中的參數(shù),可以用 #+參數(shù)名直接獲 取。
  • 如果需要用到方法中參數(shù)的屬性,可以向Java對象一樣,用 . 獲取。如 #channel.name,如果此注解使用在方法上,可以根據(jù)方法設(shè)置key,如:#root.method。

keyGenerator

@Component("myKeyGenerator")
public class MyKeyGenerator implements KeyGenerator {
    @Override
    public Object generate(Object target, Method method, Object... params) {
        return "method.getName()" + "["+ Arrays.asList(params).toString()+"]";
    }
}
@Cacheable(value ="provinceCount",keyGenerator = "myKeyGenerator",sync = true)

condition

  • 觸發(fā)條件。
  • 這個參數(shù)是規(guī)定這個緩存觸發(fā)的條件拼接。
  • 如 condition="#channel != null",就是在channel不 為null的時候觸發(fā)。

unless

  • 排除條件。
  • 這個參數(shù)是規(guī)定這個緩存在什么時候不觸發(fā)。
  • 如 unless="#result == null",就是在結(jié)果為null的 時候觸發(fā)。

注意點(diǎn)

使用@Cacheable生成的緩存是不會清除的,同時當(dāng)redis中已經(jīng)存在相同的key時,@Cacheable默認(rèn)不生成緩存

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • redis中隊列消息實現(xiàn)應(yīng)用解耦的方法

    redis中隊列消息實現(xiàn)應(yīng)用解耦的方法

    這篇文章主要給大家介紹了關(guān)于redis中隊列消息實現(xiàn)應(yīng)用解耦的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Redis RDB與AOF持久化方式詳細(xì)講解

    Redis RDB與AOF持久化方式詳細(xì)講解

    Redis是基于內(nèi)存的數(shù)據(jù)結(jié)構(gòu)服務(wù)器,保存了大量的鍵值對數(shù)據(jù),所以持久化到磁盤是非常必要的,Redis提供了兩種持久化的方式,分別是RDB和AOF。下面我們看下這兩種持久化方式的具體實現(xiàn)原理
    2022-11-11
  • 基于Redis的List實現(xiàn)特價商品列表功能

    基于Redis的List實現(xiàn)特價商品列表功能

    本文通過場景分析給大家介紹了基于Redis的List實現(xiàn)特價商品列表,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • Redis實現(xiàn)高效內(nèi)存管理的示例代碼

    Redis實現(xiàn)高效內(nèi)存管理的示例代碼

    Redis內(nèi)存管理是其核心功能之一,為了高效地利用內(nèi)存,Redis采用了多種技術(shù)和策略,如優(yōu)化的數(shù)據(jù)結(jié)構(gòu)、內(nèi)存分配策略、內(nèi)存回收、數(shù)據(jù)壓縮等,下面就來詳細(xì)的介紹一下
    2025-08-08
  • Redis實現(xiàn)分布式鎖和等待序列的方法示例

    Redis實現(xiàn)分布式鎖和等待序列的方法示例

    這篇文章主要介紹了Redis實現(xiàn)分布式鎖和等待序列的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • Windows環(huán)境部署Redis集群

    Windows環(huán)境部署Redis集群

    這篇文章主要為大家詳細(xì)介紹了Windows環(huán)境部署Redis集群的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Redis的數(shù)據(jù)過期策略和數(shù)據(jù)淘汰策略

    Redis的數(shù)據(jù)過期策略和數(shù)據(jù)淘汰策略

    本文主要介紹了Redis的數(shù)據(jù)過期策略和數(shù)據(jù)淘汰策略,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Redis實現(xiàn)延遲任務(wù)的三種方法詳解

    Redis實現(xiàn)延遲任務(wù)的三種方法詳解

    延遲任務(wù)(Delayed Task)是指在未來的某個時間點(diǎn),執(zhí)行相應(yīng)的任務(wù),本文為大家整理了三種常見的實現(xiàn)方法,感興趣的小伙伴可以參考一下
    2025-04-04
  • Redis特殊數(shù)據(jù)類型HyperLogLog基數(shù)統(tǒng)計算法講解

    Redis特殊數(shù)據(jù)類型HyperLogLog基數(shù)統(tǒng)計算法講解

    這篇文章主要為大家介紹了Redis特殊數(shù)據(jù)類型HyperLogLog基數(shù)統(tǒng)計算法講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Redis使用布隆過濾器解決緩存雪崩的問題

    Redis使用布隆過濾器解決緩存雪崩的問題

    布隆過濾器可以幫助我們解決Redis緩存雪崩的問題,那什么是布隆過濾器、布隆過濾器又是如何使用如何解決緩存雪崩的問題的,讓我們帶著這一系列的問題去詳細(xì)了解布隆過濾器,感興趣的小伙伴跟著小編一起來看看吧
    2024-02-02

最新評論

衡阳县| 航空| 荆门市| 博湖县| 建昌县| 梓潼县| 黄大仙区| 望城县| 霍城县| 尚义县| 恩施市| 宾阳县| 浪卡子县| 宿州市| 许昌县| 东阿县| 三穗县| 巫溪县| 社会| 普洱| 宜兰县| 商南县| 黎平县| 于都县| 彩票| 黄平县| 宜春市| 高阳县| 达拉特旗| 二手房| 昔阳县| 正安县| 孟津县| 延吉市| 富锦市| 邯郸县| 盐池县| 中江县| 临城县| 县级市| 上栗县|