使用Hazelcast进行Spring Cache抽象和耗时的方法

时间:2017-08-15 07:38:49

标签: spring caching

如何使用Spring Cache Abstraction处理这种情况,当我想调用方法getNameTimeConsumingMethod但是如果结果不在缓存中那么我不想等待执行这个方法并返回结果方法getNameIfNotInCache。

@Cacheable(value = "cacheName", key = "#key")
public String getNameTimeConsumingMethod(String key) {
//time consuming method
}


public String getNameIfNotInCache(String key) {
//fast method if cacheName does not have a key
}

1 个答案:

答案 0 :(得分:0)

好吧,如果密钥在缓存中,则getNameTimeConsumingMethod不会被执行,因为结果将从缓存中返回。 如果密钥不在缓存中,则需要执行getNameIfNotInCache。

我得出的结论是,您不想在getNameTimeConsumingMethod中执行任何操作。 那你为什么不从getNameTimeConsumingMethod调用getNameIfNotInCache并返回呢?