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

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

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

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

??簡述Spring Cache

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

Spring Cache 的主要特點和功能包括:

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

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

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

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

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

 常用注解

請?zhí)砑訄D片描述

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

??使用SpringCache

使用SpringCache需要把下面的代碼導入到pom文件中

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

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

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

我們首先來啟動Redis服務

在這里插入圖片描述

CacheDemoApplication.java

在啟動類上加上這個注解,開啟緩存注解功能

@EnableCaching

在這里插入圖片描述

@Cacheable注解

進入controller包
UserController.java

加入下面的注解

@CachePut

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

在這里插入圖片描述

?測試

我們啟動項目,輸入http://localhost:8888/doc.html打開接口文檔進行測試

在這里插入圖片描述

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

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

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

請?zhí)砑訄D片描述

@CacheEvict

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

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

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

然后啟動項目

在這里插入圖片描述

輸入http://localhost:8888/doc.html打開接口文檔進行測試

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

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

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

我們在deleteAll這個方法中進行操作
仍然加上@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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

若羌县| 泰州市| 阿拉善盟| 奇台县| 平乡县| 寿宁县| 吴忠市| 巴青县| 灵山县| 安远县| 苍南县| 宝应县| 竹溪县| 克山县| 双城市| 中卫市| 渝北区| 阿勒泰市| 纳雍县| 宜丰县| 大港区| 香格里拉县| 桦南县| 八宿县| 白山市| 承德县| 高雄县| 金沙县| 三河市| 新余市| 南华县| 兴和县| 洪湖市| 盈江县| 镇沅| 宜君县| 柳州市| 南郑县| 南皮县| 全南县| 光山县|