spring 中 @Cacheable注解的使用

       在开发的过程中我们总会遇到对方法返回结果进行缓存的场景,下面介绍一下常用的@Cacheable注解进行缓存的场景。

1、概述

     它将方法的返回值存储在缓存中,以便在之后的调用中可以直接使用缓存中的值,而无需再次执行方法。这样可以提高程序的执行效率,减少对数据库的访问次数。

2、基本属性和使用介绍

  • value:这是必需的属性,它指定了缓存的名称。你可以使用它来区分不同的缓存区域。

@Cacheable(value = "users")  
public User getUserById(long userId) {  
    // 查询数据库并返回用户信息  
}
  • key属性用于指定缓存的键。默认情况下,如果方法的参数是一个对象,那么Spring会使用该对象的toString()方法的结果作为缓存的键。但是,你通常希望更细粒度地控制键的生成。

@Cacheable(value = "users", key = "#userId + '_' + #userName")  
public User getUserByIdAndName(long userId, String userName) {  
    // ...  
}
  • condition属性允许你指定一个SpEL表达式,用于确定是否应该缓存方法的结果。如果表达式的计算结果为false,那么结果将不会被缓存。

@Cacheable(value = "users", key = "#userId", condition = "#userId > 10")  
public User getUserById(long userId) {  
    // ...  
}

3、如何开启缓存

要在Spring应用中启用缓存支持,你需要在配置类上添加@EnableCaching注解

@Configuration  
@EnableCaching  
public class AppConfig {  
    // ...  
}

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风&竹林

各位老板的鼓励是我最大的创作动

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值