gpt4 book ai didi

java - 为 Spring 的 @Cacheable 注释定义键的最佳方法是什么

转载 作者:搜寻专家 更新时间:2023-11-01 01:03:44 25 4
gpt4 key购买 nike

如果我为一个没有任何参数的方法定义一个 ehcache。

但在我的用例中,我需要通过它的 key 访问我构建的缓存。

因此,请为我提供分配 key 的更好方法。

下面是我的代码:

@Override
@Cacheable(value = "cacheName", key = "cacheKey")
public List<String> getCacheMethod() throws Exception{

附言当我尝试从其他地方访问此方法时出现以下错误。

org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'cacheKey' cannot be found on object of type 'org.springframework.cache.interceptor.CacheExpressionRootObject'

最佳答案

该方法没有参数,因此无法使用参数/自变量作为默认键,也不能使用“静态文本”作为键,您可以执行以下操作:

声明如下

public static final String KEY = "cacheKey";
  • 必须是public
  • 必须是staticfinal

然后

@Override
@Cacheable(value = "cacheName", key = "#root.target.KEY")
public List<String> getCacheMethod() throws Exception{

完成

关于java - 为 Spring 的 @Cacheable 注释定义键的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25095160/

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