Spring Cache【Spring Boot】

Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。【设计思想AOP】

Spring Cache 提供了一层抽象,底层可以切换不同地缓存实现,例如:

  -  EHCache

  -  Caffeine

  -  Redis(常用)

 

Spring Boot 使用缓存常用注解

名称 解释 使用位置
@EnableCaching 开启基于注解地缓存 启动类
@Cacheable

主要针对查询方法配置,在方法执行前先查看缓存中是否有数据,如果有则直接返回;

若没有,调用方法并将方法返回值放到缓存中。

查询方法

@CacheEvict 清空缓存 删除方法
@CachePut 将方法的返回值放到缓存中 新增或修改方法

 

Spring Cache 和 Redis 相关依赖

复制代码
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
复制代码

 

@Cacheable、@CacheEvict、@CachePut 使用示例

复制代码
@CachePut(value = "userCache",key = "#id")

或

@CachePut(value = "userCache",key = "#result.id")

属性:
              value:用于指定缓存内存区域的名称(划片)
              key:用于缓存数据的key,支持SPEL表达式
                  #user.id  表示获取当前方法参数user对象中的id属性值
                  #result.id 表示获取当前方法返回值对象中的id属性值

  
              userCache      
                  user:1
                  user:2
              dishCache
                  dish:1
                  dish:2
复制代码

 

posted @   青核桃啊  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示