1

这可能非常简单,但我想知道是否可以通过以下一种方法同时调用 @Cacheable 和 @CacheEvict:

@Cacheable(value = "empListCache")
@CacheEvict(value = "empListCache", allEntries = true)
public List<Emply> findAllEmplys() throws SomeException

上面的代码是在每次调用该方法时驱逐 empListCache 还是仅在缓存已满时才被驱逐?

谢谢。

4

1 回答 1

1

你到底想做什么?是的,您可以这样做,但这基本上完全违背了缓存的目的。

@CacheEvict在方法调用之后默认运行。所以上面的声明的目的是用相同的键缓存列表(因为你的方法没有参数),然后完全清除缓存。

长话短说:如果你删除这两个注释,你会得到完全相同的结果(除了缓存“emptyListCache”没有被清除)。

于 2014-04-24T19:56:48.370 回答