@Cacheable 如何清除缓存
时间: 2024-02-29 09:50:26 浏览: 413
@Cacheable 是 Spring 框架中的一个注解,用于实现方法级别的缓存。当使用 @Cacheable 注解时,Spring 会将方法的返回值缓存起来,下次调用相同的方法时,会直接从缓存中获取结果,而不是再次执行方法体。
要清除 @Cacheable 注解的缓存,可以使用 @CacheEvict 注解。@CacheEvict 注解可以标记在需要清除缓存的方法上,当该方法被调用时,会清除指定的缓存。
下面是一个示例代码:
```java
@Service
public class MyService {
@Cacheable("myCache")
public String getData() {
// 从数据库或其他数据源获取数据
return "data";
}
@CacheEvict("myCache")
public void clearCache() {
// 清除缓存
}
}
```
在上面的示例中,`getData()` 方法使用了 `@Cacheable("myCache")` 注解,表示该方法的返回值会被缓存在名为 "myCache" 的缓存中。`clearCache()` 方法使用了 `@CacheEvict("myCache")` 注解,表示该方法会清除名为 "myCache" 的缓存。
当调用 `clearCache()` 方法时,会清除名为 "myCache" 的缓存,下次调用 `getData()` 方法时,会重新执行方法体,并将结果缓存起来。
阅读全文