我读到的越多,我对它的了解就越少:)。
只有一个简单的问题,如果我希望使用更新中的新内容刷新 listAll,则在 update 方法中使用什么?什么是更安全/更好的实践,逐出或缓存?这让我有点困惑,我读了 15 个标签。 :D 我也会删除,我认为只需要 CacheEvict,对吗?
@Cacheable(CACHE1)
@RequestMapping(method = RequestMethod.POST)
public Object listAll(@Valid @RequestParam("status") String status) {
//code
}
@CachePut(CACHE1)
//or
@CacheEvict(value = {CACHE1}, allEntries = true)
@RequestMapping(method = RequestMethod.POST)
public Object update(@RequestBody Project project{
//code
}
最佳答案
保存对象时使用 CachePut,删除对象时使用 CacheEvict。您可以想象也可以在保存时逐出,并让 getter 上的 Cacheable 注释处理获取新数据并重新缓存它,并完全避免使用 CachePut。
关于java - Spring Cache - @CachePut 和 @CacheEvict 之间的真正区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60670743/