@CacheEvict, key的SpEL表达式有哪些
时间: 2023-11-10 22:26:48 浏览: 144
详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
@CacheEvict注解中的key属性支持使用SpEL表达式来指定缓存项的键。以下是其中一些常见的SpEL表达式:
1. 直接指定字符串作为键:
```
@CacheEvict(value = "userCache", key = "userId")
```
2. 使用方法参数作为键:
```
@CacheEvict(value = "userCache", key = "#userId")
public void deleteUser(String userId) {
// ...
}
```
3. 使用多个参数作为键:
```
@CacheEvict(value = "userCache", key = "#userId + '-' + #userName")
public void updateUser(String userId, String userName) {
// ...
}
```
4. 使用Spring EL表达式:
```
@CacheEvict(value = "userCache", key = "#root.args[0]")
public void deleteUser(String userId) {
// ...
}
```
5. 使用SpEL表达式中的变量:
```
@CacheEvict(value = "userCache", key = "#userId", condition = "#status == 'ACTIVE'")
public void deleteUser(String userId, String status) {
// ...
}
```
以上是一些常见的SpEL表达式,可以根据实际情况选择合适的表达式来指定缓存项的键。
阅读全文