欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot使用Spring?Cache高效處理緩存數(shù)據(jù)

 更新時(shí)間:2023年11月14日 08:43:57   作者:在下小吉.  
Spring?Cache是一個(gè)框架,只要簡(jiǎn)單加一個(gè)注解,就能實(shí)現(xiàn)緩存功能,本文主要介紹了SpringBoot使用Spring?Cache高效處理緩存數(shù)據(jù),感興趣的可以了解一下

Spring Cache是一個(gè)框架,只要簡(jiǎn)單加一個(gè)注解,就能實(shí)現(xiàn)緩存功能。Spring Cache是Spring Framework提供的一個(gè)模塊,它為應(yīng)用程序添加了緩存支持。通過使用Spring Cache,你可以在方法級(jí)別上定義緩存規(guī)則,將方法的返回結(jié)果緩存起來,以提高方法調(diào)用的性能和響應(yīng)速度。

??簡(jiǎn)述Spring Cache

是一個(gè)框架,只要簡(jiǎn)單加一個(gè)注解,就能實(shí)現(xiàn)緩存功能
Spring Cache 是 Spring Framework 提供的一個(gè)模塊,它為應(yīng)用程序添加了緩存支持。通過使用 Spring Cache,你可以在方法級(jí)別上定義緩存規(guī)則,將方法的返回結(jié)果緩存起來,以提高方法調(diào)用的性能和響應(yīng)速度。

Spring Cache 的主要特點(diǎn)和功能包括:

注解驅(qū)動(dòng):Spring Cache 基于注解,通過在方法上添加 @Cacheable、@CachePut、@CacheEvict 等注解,來定義緩存規(guī)則和行為。

支持多種緩存實(shí)現(xiàn):Spring Cache 支持多種常見的緩存實(shí)現(xiàn),包括 Ehcache、Redis、Caffeine、ConcurrentMap 等,你可以根據(jù)自己的需求選擇合適的緩存提供者。

靈活的緩存配置:你可以通過配置文件或者 Java 代碼來靈活地配置緩存管理器、緩存的過期時(shí)間、緩存的鍵生成策略等。

支持條件化的緩存操作:除了基本的緩存注解外,Spring Cache 還支持條件化的緩存操作,比如通過 SpEL 表達(dá)式來定義條件,決定是否執(zhí)行緩存操作。

總之,Spring Cache 提供了一種便捷的方式來實(shí)現(xiàn)方法級(jí)別的緩存,使得開發(fā)者可以專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而不必過多關(guān)注緩存的管理和維護(hù)。這樣可以有效地提升應(yīng)用程序的性能,并減少對(duì)底層緩存實(shí)現(xiàn)的耦合。

 常用注解

請(qǐng)?zhí)砑訄D片描述

@Cacheable:觸發(fā)將方法返回結(jié)果緩存。
@CacheEvict:觸發(fā)從緩存中清除一條或多條數(shù)據(jù)。
@CachePut:觸發(fā)將方法返回結(jié)果更新到緩存。
@Caching:組合多個(gè)緩存注解在一個(gè)方法上。
@CacheConfig:在類級(jí)別共享緩存注解的通用配置。

??使用SpringCache

使用SpringCache需要把下面的代碼導(dǎo)入到pom文件中

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
            <version>2.7.3</version>
        </dependency>

這樣子我們就可以使用SpringCache了

我們打開下面鏈接里面的文件,我們下面要使用文件中的代碼進(jìn)行講解springcache_jb51.rar

我們首先來啟動(dòng)Redis服務(wù)

在這里插入圖片描述

CacheDemoApplication.java

在啟動(dòng)類上加上這個(gè)注解,開啟緩存注解功能

@EnableCaching

在這里插入圖片描述

@Cacheable注解

進(jìn)入controller包
UserController.java

加入下面的注解

@CachePut

插入數(shù)據(jù)的同時(shí),我們還需要把數(shù)據(jù)保存到Redis中一份

在這里插入圖片描述

?測(cè)試

我們啟動(dòng)項(xiàng)目,輸入http://localhost:8888/doc.html打開接口文檔進(jìn)行測(cè)試

在這里插入圖片描述

發(fā)現(xiàn)發(fā)送成功,我們?nèi)ゲ榭磾?shù)據(jù)庫(kù),發(fā)現(xiàn)數(shù)據(jù)庫(kù)已經(jīng)插入了一條數(shù)據(jù)了

我們打開Redis Desktop Manager,連接成功后,發(fā)送數(shù)據(jù)
發(fā)現(xiàn)

user5對(duì)象已經(jīng)進(jìn)行了序列化

請(qǐng)?zhí)砑訄D片描述

@CacheEvict

??一次清理一條數(shù)據(jù)

如果我們把數(shù)據(jù)庫(kù)中的數(shù)據(jù)給刪除掉了,那么對(duì)應(yīng)的緩存數(shù)據(jù)我們也應(yīng)該刪除,下面我們就來使用@CacheEvict注解來刪除緩存數(shù)據(jù)
我們加上這一段代碼

@CacheEvict(cacheNames = "userCache",key = "#id")

然后啟動(dòng)項(xiàng)目

在這里插入圖片描述

輸入http://localhost:8888/doc.html打開接口文檔進(jìn)行測(cè)試

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

查詢數(shù)據(jù)庫(kù),發(fā)現(xiàn)數(shù)據(jù)庫(kù)里面對(duì)應(yīng)id=2的字段被刪除了
Redis緩存也刪除了

??一次刪除多條數(shù)據(jù)

我們?cè)赿eleteAll這個(gè)方法中進(jìn)行操作
仍然加上@CacheEvict注解

@CacheEvict(cacheNames = "userCache",allEntries = true)

在這里插入圖片描述

使用接口文檔http://localhost:8888/doc.html發(fā)送數(shù)據(jù),就可以刪除所有緩存了

到此這篇關(guān)于SpringBoot使用Spring Cache高效處理緩存數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Spring Cache緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java負(fù)載均衡服務(wù)器實(shí)現(xiàn)上傳文件同步

    Java負(fù)載均衡服務(wù)器實(shí)現(xiàn)上傳文件同步

    這篇文章主要介紹了Java負(fù)載均衡服務(wù)器實(shí)現(xiàn)上傳文件同步,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java語法基礎(chǔ)之選擇結(jié)構(gòu)的if語句、switch語句詳解

    Java語法基礎(chǔ)之選擇結(jié)構(gòu)的if語句、switch語句詳解

    這篇文章主要為大詳細(xì)介紹了Java語法基礎(chǔ)之選擇結(jié)構(gòu)的if語句、switch語句,感興趣的小伙伴們可以參考一下
    2016-09-09
  • JavaWeb中的簡(jiǎn)單分頁(yè)完整代碼(推薦)

    JavaWeb中的簡(jiǎn)單分頁(yè)完整代碼(推薦)

    這次主要是講解一下通過登錄后對(duì)得到的數(shù)據(jù)進(jìn)行分頁(yè),首先我們新建一個(gè)登錄頁(yè)面login.jsp,因?yàn)槲覀冎饕獙W(xué)習(xí)的分頁(yè),所以登錄驗(yàn)證的部分沒有提到。關(guān)于javaweb中的分頁(yè)代碼大家通過本文學(xué)習(xí)吧
    2016-11-11
  • SpringBoot+Mybatis-plus+shardingsphere實(shí)現(xiàn)分庫(kù)分表的方案

    SpringBoot+Mybatis-plus+shardingsphere實(shí)現(xiàn)分庫(kù)分表的方案

    實(shí)現(xiàn)億級(jí)數(shù)據(jù)量分庫(kù)分表的項(xiàng)目是一個(gè)挑戰(zhàn)性很高的任務(wù),下面是一個(gè)基于Spring Boot的簡(jiǎn)單實(shí)現(xiàn)方案,感興趣的朋友一起看看吧
    2024-03-03
  • Java中雙冒號(hào)運(yùn)算符(::)的用法詳解

    Java中雙冒號(hào)運(yùn)算符(::)的用法詳解

    在Java 8引入的Lambda表達(dá)式和函數(shù)式接口之后,雙冒號(hào)運(yùn)算符(::)成為了一項(xiàng)重要的功能,下面我們就來學(xué)習(xí)一下Java中的雙冒號(hào)運(yùn)算符及其常見應(yīng)用場(chǎng)景吧
    2023-12-12
  • java并發(fā)編程專題(九)----(JUC)淺析CyclicBarrier

    java并發(fā)編程專題(九)----(JUC)淺析CyclicBarrier

    這篇文章主要介紹了java CyclicBarrier的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • java實(shí)現(xiàn)線性表及其算法

    java實(shí)現(xiàn)線性表及其算法

    線性表是最簡(jiǎn)單和最常用的一種數(shù)據(jù)結(jié)構(gòu),它是有n個(gè)體數(shù)據(jù)元素(節(jié)點(diǎn))組成的有限序列,這篇文章主要介紹了java實(shí)現(xiàn)線性表及其算法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • 深入了解Java核心類庫(kù)--Math類

    深入了解Java核心類庫(kù)--Math類

    本文是小編最新給大家整理的關(guān)于Java中Math類常用方法的知識(shí),通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧,
    2021-07-07
  • SpringBoot接值實(shí)現(xiàn)方法詳解

    SpringBoot接值實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了SpringBoot接值實(shí)現(xiàn)方法,SpringBoot接值是指在SpringBoot應(yīng)用程序中接收請(qǐng)求參數(shù),從HTTP請(qǐng)求中獲取參數(shù),并將其綁定到Java對(duì)象中進(jìn)行處理的過程,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05
  • Java實(shí)現(xiàn)word文檔轉(zhuǎn)成圖片的示例詳解

    Java實(shí)現(xiàn)word文檔轉(zhuǎn)成圖片的示例詳解

    本文主要為大家詳細(xì)介紹了如何在Java項(xiàng)目中引用aspose-words和poi-tljar包實(shí)現(xiàn)word文檔轉(zhuǎn)成圖片,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10

最新評(píng)論