У меня есть приложение, состоящее из двух веб-серверов, двух красных буферов и хранилища бэкэнд. Два веб-сервера и два redis-кэша расположены на западном и восточном побережье, чтобы оптимизировать производительность. До сих пор мне удалось подключиться к моему первому кешу, с моих веб-серверов и в моем бэкэнд-магазине. Но я ищу способ использовать Spring для передачи данных в оба красных кеша. Я настроил оба моих RedisManager следующим образом.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 не Повторяется Аннотация»
@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-авто генерирует некоторые элементы для меня. Но я не уверен, где бы я пошел реализовать логику, например, в наборе, чтобы установить значение в обоих кэшах. Я начинаю искать в Интернете справочники о том, как создавать аннотации, но было просто интересно, знаете ли вы о каких-либо особенно хороших руководствах. –