java @Cacheable写法
时间: 2024-08-16 10:09:37 浏览: 239
java之SpringCache之@Cacheable注解的说明使用
Java `@Cacheable` 是Spring框架中的一个注解,用于标记方法为缓存计算结果,通常应用于声明式缓存管理。当你在一个服务方法上应用此注解,Spring Data REST 或其他支持缓存的工具会在满足一定条件下自动从缓存中获取数据,而不是直接执行数据库查询。
基本的写法如下:
```java
import org.springframework.cache.annotation.Cacheable;
public class SomeService {
@Cacheable(value = "myCache", key = "#id") // 缓存名称和key生成策略
public User getUserById(Long id) {
// 这里是实际的数据库查询或其他耗时操作,不会再次执行,除非缓存已过期或未命中
return userRepository.findById(id);
}
}
```
参数说明:
- `value`:指定缓存的名字,如果多个方法共享同一缓存,可以用通配符 "*" 来表示。
- `key`:定义生成缓存键的方式,这里的`"#id"` 表示使用方法参数`id`作为唯一标识。
当`getUserById`方法被调用时,如果该用户的记录已经存在于缓存中,Spring会直接返回缓存的结果,否则执行数据库查询并将结果放入缓存。
阅读全文