Spring 启动 EHcache cacheResolver

Spring Boot EHcache cacheResolver

用例:

我使用了@Cacheable 产品库

在ProductRepository.java

@Cacheable(value = "ProductId")
    public ProductEntity findByProductId(long productId);

产品控制器

  1. 获取API(产品编号)
  2. 补丁API(更新所需数据)

产品服务 对于 GET 方法

@CacheEvict(cacheNames = { "ProductId" }, allEntries = true)

public ProductView getProductByProductId(long productId)
{
productEntity = productRepository.findByProductId(productId);
}

我的问题是在更新我的单个产品详细信息(使用@Patch)之后如何在为 单个产品[=调用 Get API 时仅更新单个记录的缓存35=]

您可以在存储库中声明保存方法:

@Override
@CacheEvict(value = "ProductId")
ProductEntity save(ProductEntity product);

然后在 PATCH 上调用该方法。