0
下工作(在逐出結果執行):春天Redis的緩存不驅逐
fooController {
@ApiEndpoint
public delete(id) {
fooService.deleteFoo(id)
}
}
fooService {
@CacheEvict(value = "cache1", key = "#id")
public void deleteFoo(Long id) {
//delete logic here
}
}
但是,這並不正常工作(沒有什麼是從緩存逐出):
fooController {
@ApiEndpoint
public delete(name) {
fooService.deleteFoo2(name)
}
}
fooService {
public void deleteFoo2(String name) {
//delete logic here
deleteFoo(name.getId())
}
@CacheEvict(value = "cache1", key = "#id")
public void deleteFoo(Long id) {
//delete logic here
}
}
爲什麼我的@CacheEvict註釋僅在從控制器直接調用該方法時調用?
我使用Redis作爲緩存機制。