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

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)用程序添加了緩存支持。通過(guò)使用Spring Cache,你可以在方法級(jí)別上定義緩存規(guī)則,將方法的返回結(jié)果緩存起來(lái),以提高方法調(diào)用的性能和響應(yīng)速度。

??簡(jiǎn)述Spring Cache

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

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

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

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

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

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

總之,Spring Cache 提供了一種便捷的方式來(lái)實(shí)現(xiàn)方法級(jí)別的緩存,使得開(kāi)發(fā)者可以專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而不必過(guò)多關(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了

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

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

在這里插入圖片描述

CacheDemoApplication.java

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

@EnableCaching

在這里插入圖片描述

@Cacheable注解

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

加入下面的注解

@CachePut

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

在這里插入圖片描述

?測(cè)試

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

在這里插入圖片描述

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

我們打開(kāi)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)該刪除,下面我們就來(lái)使用@CacheEvict注解來(lái)刪除緩存數(shù)據(jù)
我們加上這一段代碼

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

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

在這里插入圖片描述

輸入http://localhost:8888/doc.html打開(kāi)接口文檔進(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)文章

最新評(píng)論

嵊泗县| 门头沟区| 潞城市| 贡嘎县| 双辽市| 景德镇市| 阿克陶县| 宁晋县| 东源县| 桃源县| 宜章县| 沛县| 阿拉善盟| 赞皇县| 盐池县| 江孜县| 中山市| 定兴县| 蓝田县| 泰顺县| 景东| 若尔盖县| 金昌市| 永丰县| 平罗县| 仙居县| 宝鸡市| 根河市| 盐边县| 满洲里市| 樟树市| 阜宁县| 平舆县| 莎车县| 通化县| 年辖:市辖区| 介休市| 封丘县| 上林县| 日土县| 庆城县|