[英]How do I use Spring's @Cacheable with Aerospike as the cache?
[英]How should I use @Cacheable on spring data repositories
例如,在使用MongoRepository
,我想將一些方法標記為@Cacheable
例如insert(entity)
或findOne(id)
。 由於它是一個 Spring 存儲庫而不是我的,我應該如何在這些方法上使用@Cacheable
?
不確定您實際如何使用MongoRepository
,您似乎建議您直接使用它(在問題中包含您的代碼通常是個好主意) ,但參考文檔解釋了使用此接口的基礎知識(和事實上,Spring Data 中的所有存儲庫接口): “§ 6.1. 核心概念” :
(...)此接口主要用作標記接口,用於捕獲要使用的類型並幫助您發現擴展此接口的接口。 (……)
您的自定義存儲庫將類似於:
public interface SomeTypeMongoRepository extends MongoRepository<SomeType, Long> {
@Override
@CacheEvict("someCache")
<S extends SomeType> S insert(S entity);
@Override
@Cacheable("someCache")
SomeType findOne(Long id);
}
(請注意,它基於我在其中一條評論中包含的官方示例)
選項之一可能是在 xml 中進行,如docs中所述。
這種方法的另一個好處是您可以使用單個聲明使多個方法可緩存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.