我想缓存<Link to={"/listDetail/" + id}>my list detail id : {id}</Link>
方法并更新getText
上的缓存。到目前为止,setText
方法上的缓存有效,但是我无法更新值。下面的代码基于Hazelcast的教程。
getText
如何改进上面的代码以使@Service
public class SlowService {
String text = "Initial value";
@Cacheable("text")
public String getText() {
try {
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
return text;
}
@CachePut(value = "text", key = "#newText + 1")
public String setText(String newText) {
text = newText;
return text;
}
}
注释起作用?
编辑: 尝试添加相同的键:
@CachePut
但是得到:
java.lang.IllegalArgumentException:为缓存返回了空键 操作(也许您在没有调试的类上使用了命名参数 信息?)生成器[public java.lang.String com.example.demo.SlowService.getText()]缓存= [文本] | key ='#someKey' | keyGenerator =''| | cacheManager =''| | cacheResolver =''|条件='' |除非=''| sync ='false'