我有一個由兩個Web服務器,兩個Redis緩存和一個後端存儲組成的應用程序。兩個Web服務器和兩個Redis緩存位於西海岸和東海岸,以優化性能。到目前爲止,我已經能夠連接到我的第一個緩存,從我的Web服務器到我的後端存儲。但我正在尋找一種使用Spring將數據推送到兩個Redis緩存的方法。我已經配置了兩個RedisManagers,如下所示。Spring Data Store Redis - 使用多個緩存
@Bean(name="CacheManager1")
public RedisCacheManager cacheManager() {
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate());
redisCacheManager.setTransactionAware(true);
redisCacheManager.setLoadRemoteCachesOnStartup(true);
redisCacheManager.setUsePrefix(true);
return redisCacheManager;
}
@Bean(name="CacheManager2")
public RedisCacheManager cacheManager2() {
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate2());
redisCacheManager.setTransactionAware(true);
redisCacheManager.setLoadRemoteCachesOnStartup(true);
redisCacheManager.setUsePrefix(true);
return redisCacheManager;
}
現在我已經嘗試了一些隨機的方式緩存到這兩個地方,但這種特別的方式與「可緩存是不是重複標註」
@Cacheable(cacheManager = "CacheManager1", value = "activityProfile", key = "#id")
@Cacheable(cacheManager = "CacheManager2", value = "activityProfile", key = "#id")
public ActivityProfile findActivityProfile(String id) {
return activityProfileRepository.findOne(id);
}
有沒有使用任何簡單的方法失敗春天呢?
如何配置一個CacheResolver,它將返回一個包含來自這兩個緩存的列表?沒有嘗試過,但可以工作。請參閱示例[此處](https://jira.spring.io/browse/DATAREDIS-391?focusedCommentId=114319&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-114319) – eis
您可以創建可能需要一系列cachemanagers的註釋 –
@ ObiWan-PallavJha我對此感興趣......但是我對註釋的體驗是有限的。我開始創建新的註釋,並讓我的IDE爲我自動生成一些項目。但是我不確定在哪裏去實現邏輯,例如在set上設置兩個緩存中的值。我開始在網上搜索有關如何製作註釋的指南,但只是想知道您是否知道任何特別優秀的指南 –