gpt4 book ai didi

ehcache - 我可以对不同类中的方法使用相同的缓存名称来使用 ehcache 进行缓存吗

转载 作者:行者123 更新时间:2023-12-02 14:24:26 31 4
gpt4 key购买 nike

我在不同的类中创建了两个方法,并使用 @Cacheable 注释对它们进行注释,并给出了相同的缓存名称,如下所示:

class MyClass{
@Cacheable(value="inScopeCache")
public Products getProducts() {
//reading data from repository
}
}

class MyNewClass{
@Cacheable(value="inScopeCache")
public NewProducts getProducts() {
//reading data from repository..
}
}

它会起作用吗?如果是的话怎么办?我已经在 spring xml 中正确定义了上述缓存。如果同时调用这两个方法会发生什么?

由于此方法没有参数,因此如何生成 key ?

谢谢哈里什

最佳答案

这不起作用,不是因为缓存名称相同,而是因为没有参数方法。

Spring Caching's default key generation最终这两种方法都会使用相同的 key ,从而导致缓存内发生冲突。

您有两个选择:

  1. 指定每个方法中要使用的 key
  2. 使用不同的缓存

关于ehcache - 我可以对不同类中的方法使用相同的缓存名称来使用 ehcache 进行缓存吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31105839/

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