我找到了一个方法,它返回DB中的所有对象并缓存它。 但是当我更新一些对象时,我想在缓存中更新该元素。 但是在findAll上我不知道如何用键映射:
@Cacheable("findAllStudens")
public Collection<StudensImpl> findAll()
当我更新学生时,我想更新缓存,但仅限于该元素。 有人有同样的问题吗?
答案 0 :(得分:0)
您必须在更新方法上使用注释@CachePut,如下所示:
@CachePut(cacheNames = "findAllStudens")
public void update(StudensImpl studensImpl) {
...
}
答案 1 :(得分:0)
您需要在更新方法之前添加@CacheEvict(“findAllStudens”)注释
CacheEvict注释将从现有缓存中删除数据。下次调用findAll()时,方法内的代码将被执行,返回的列表将存储在缓存中