java - Spring Cache 抽象 JDK 可选

标签 java spring caching

我正在使用 Spring Cache 抽象和具有以下缓存注释的服务。

这两种方法都将基于产品的 id 作为输入参数进行操作。 但是返回类型不同。一个返回一个可能与产品联系的可选值,另一个返回一个 boolean 值。

@Cacheable(value = PRODUCTS_CACHE)
public Optional<Product> get(long id) {
    return Optional.ofNullable(productRepository.findOne(id));
}

@Cacheable(value = PRODUCTS_CACHE)
public boolean exists(long id) {
    return productRepository.exists(id);
}

1) 这会按预期工作吗? 2)Spring缓存抽象适合于此吗?

最佳答案

您应该使用不同的缓存,否则它将无法工作。您可以使用具有不同键名称的相同缓存,但由于方法参数相同,因此您必须再次借助 SpEl 来实现这一点。

关于java - Spring Cache 抽象 JDK 可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28996324/

相关文章:

java - 测试和自定义 Java 模型 (1.12.2)

java - 使对象成为静态的好处,即使它们不需要如此?

java - 在jsp中获取当前页面的apache tiles

java - 跳过 Spring 占位符替换

asp.net - 在 asp.net mvc 3 中使用 Last-Modified header 和 OutputCacheAttribute 的客户端缓存

java - 四叉树删除

java - 如何制作泛型的构造函数

spring - 在 Spring 中进行 mongo 查询,其中 Document 包含数组

java - 在java中返回RedisTemplate对象时初始化默认键值对

php - 如何从客户端使浏览器缓存中的页面无效?