Spring Boot 1.5 Micro Service для использования Redis (производственного AWS Redis Cache) в качестве глобального кэша с кофеином в качестве локального кэша - PullRequest
0 голосов
/ 02 мая 2019

У меня есть Micro Service, работающий на Spring Boot 1.5, использующий Redis в качестве кэша. Я использовал spring-boot-starter-data-redis и настроил свойства приложения соответствующим образом. В рамках обновления мне нужно перейти на AWS, поэтому мне нужно использовать кэш Amazon Redis, но, поскольку стоимость имеет значение, мне нужно использовать его там, где это необходимо. Поэтому мне нужно добавить еще один кеш на основе JVM. Я добавил кофеин.

Поскольку на изображении появляются два Cache, мне нужно иметь два Cachemanager (согласно пониманию, основанному на всех статьях, которые я прочитал в Google). Я реализовал Caffeine Cache и он работает нормально, используя аннотацию @CacheConfig и предоставив cacheManager в качестве Caffeine.

Теперь у меня проблема в том, как использовать Redis, не создавая bean-компонент в RedisCache Manager, потому что, если я пойду с этой реализацией, мне придется создавать bean-компоненты для Jedis, RedisTemplate, Генератор ключей, который добавляет больше кода.

1) Я хочу использовать существующие возможности Spring Boot и использовать Redis как есть.

2) Я не хочу идти вперед и иметь класс стереотипов конфигурации, который расширяет все, и я переопределяю все это.

3) Я не знаю, возможно это или нет, я новичок в кэшировании с Redis. Если это невозможно, как я могу реализовать Cache Manager для Redis, так как у меня много классов моделей, и Generic Serializer мне там не поможет?

Если кто-нибудь сталкивался с подобным дизайном, пожалуйста, дайте мне знать. Заранее спасибо.

...