springboot 的 @Cacheable怎么使用
时间: 2023-10-24 08:30:31 浏览: 109
springboot结合 @Cacheable和@CacheEvict拉起和清空缓存.zip
@Cacheable是Spring Boot中用于实现缓存的注解之一。在使用@Cacheable时,需要在方法上添加该注解,并指定缓存的名称和缓存的键值。根据不同的缓存解析器和缓存管理器,可以选择在方法参数或方法返回值上使用SpEL表达式来生成缓存的键值。
例如,在使用@Cacheable时,可以通过在方法上添加该注解,并指定cacheNames和key属性来实现缓存功能。其中,cacheNames指定了要使用的缓存的名称,可以通过在配置文件中配置相应的缓存管理器来定义这个名称。key属性用于生成缓存的键值,可以使用SpEL表达式来引用方法参数或其他属性,以生成动态的键值。
示例代码如下:
```
@Cacheable(cacheNames = "emp", key = "#name")
public String getString1(String name) {
// 方法的具体实现
}
```
在上述示例中,@Cacheable注解被应用于方法getString1上。cacheNames属性指定了缓存的名称为"emp",key属性使用了SpEL表达式"#name"来引用方法的参数name作为缓存的键值。
需要注意的是,使用@Cacheable注解时,需要确保已经配置了合适的缓存解析器和缓存管理器。可以使用默认的SimpleCacheResolver或者自定义的CacheResolver类来实现更灵活的缓存解析。
总结起来,@Cacheable注解可以通过指定cacheNames和key属性来实现方法级的缓存功能,使得方法的结果可以被缓存起来,提高系统的性能和响应速度。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [SpringBoot @Cacheable缓存注解的使用](https://blog.csdn.net/qq_28834355/article/details/109559302)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [springboot @Cacheable 基本使用](https://blog.csdn.net/weixin_39602579/article/details/112044641)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文