【问题标题】:Use @CacheResult when the method has no argument当方法没有参数时使用@CacheResult
【发布时间】:2015-05-07 13:58:54
【问题描述】:

我有一个方法可以返回系统的(很少更改的)配置并想要缓存它。配置是根据不同的数据块构建的,因此我不想缓存单个数据块,而是缓存 SystemConfiguration 对象本身。

该方法没有参数,我如何告诉 Ehcache 使用固定键“配置”(配置只有一个实例)?我必须创建一个CacheKeyGenerator 还是有更简单的方法?

@CacheResult //how to specify the fixed key?
public SystemConfiguration getConfiguration() {
  return configuration; //this is a prebuilt object, as described
}

【问题讨论】:

  • 我同时创建了一个 CacheKeyGenerator。有点额外的代码,但它可以工作。

标签: java caching ehcache spring-cache jcache


【解决方案1】:

Spring 缓存有一个default key generation algorithm,它将涵盖不带参数的方法的用例。

但是,如果您想要一个特定的键值,那么您需要实现自己的生成器。

【讨论】:

  • 这是我必须做的;默认的 SimpleKey.EMPTY 不合适,因为除了 SystemConfiguration 对象之外,我还有几个这样的情况。
猜你喜欢
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 1970-01-01
相关资源
最近更新 更多