gpt4 book ai didi

java - 如何使用 JCache 创建缓存键?

转载 作者:行者123 更新时间:2023-11-30 02:02:38 25 4
gpt4 key购买 nike

我有一个使用 Spring 缓存注释的 Spring Boot 应用程序。现在我想迁移到 JSR-107 (JCache) 注释。

这是我的方法:

@Cacheable(value = "results", key = "#input.id")
public CalculatorResult calculate(CalculatorInput input, Operation operation) {
// Code omitted for simplicity
}

我想要我的新方法是这样的:

@CacheResult(cacheName = "results")
public CalculatorResult calculate(@CacheKey CalculatorInput input, Operation operation) {
// Code omitted for simplicity
}

CalculatorInput 类:

public class CalculatorInput {
private String id;
private Double num1;
// Getters and setters omitted for simplicity
}

@CacheKey 注解指示 spring 将整个 CalculatorInput 对象存储为 Key。我只想使用 CalculatorInput 类的属性 id 作为键。

如何使用 JCache 创建缓存键(就像我使用 Spring 缓存注释所做的那样)?

谢谢。

最佳答案

添加属性cacheKeyGenerator添加到您的 @CacheResult 注释。编写一个实现 CacheKeyGenerator ( example ) 的类并在注释中使用它。生成器的方法 generateCacheKey 接收一个上下文对象,该对象使您可以访问缓存的方法调用的参数值,您可以从中提取所需的 key 。

关于java - 如何使用 JCache 创建缓存键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52340188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com