2017-08-15 62 views
0

如何使用Spring Cache抽象處理大小寫,何時調用方法getNameTimeConsumingMethod,但如果結果不在緩存中,那麼我不希望等待執行此方法並返回結果方法getNameIfNotInCache。使用Hazelcast和耗時方法的Spring Cache抽象

@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 
} 

回答

0

好吧,如果關鍵是在緩存中,getNameTimeConsumingMethod不會被執行,因爲結果會從緩存中返回。 如果密鑰不在緩存中,則要執行getNameIfNotInCache。

我的結論是,你不想在getNameTimeConsumingMethod內執行任何操作。 那你爲什麼不直接從getNameTimeConsumingMethod調用getNameIfNotInCache並返回呢?

+0

如果鍵不在緩存中我想從getNameIfNotInCache返回結果,但我希望方法getNameTimeConsumingMethod在後臺完成,並且結果此方法向緩存添加了一個新值 – Wait