@Cacheable 如何指定缓存过期时间
时间: 2023-07-20 08:27:43 浏览: 225
在 Spring Boot 中,可以使用注解 @Cacheable 来指定缓存过期时间。可以在 @Cacheable 注解中使用 cacheNames 属性来指定缓存的名称,使用 key 属性来指定缓存的键,使用 condition 属性来指定缓存的条件表达式。然后,可以使用注解 @CacheConfig 来配置缓存的默认过期时间,使用注解 @CacheEvict 来清除缓存。具体的示例代码如下:
```
@CacheConfig(cacheNames = "users", cacheManager = "cacheManager")
@Service
public class UserServiceImpl implements UserService {
@Cacheable(key = "'user:' + #id", condition = "#id > 0")
@Override
public User getUserById(long id) {
// ...
}
@CacheEvict(allEntries = true)
@Override
public void clearCache() {
// ...
}
}
```
在上面的示例中,@CacheConfig 注解指定了缓存的名称和缓存管理器的名称。@Cacheable 注解指定了缓存的键和条件表达式,可以在方法中返回一个 User 对象,并且这个对象会被缓存起来。@CacheEvict 注解用来清除缓存。
阅读全文