Существует приложение SpringBoot (v2.2.7), в котором настроен кеш Redis
фрагмент pom. xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
Когда Сервис Redis запущен и доступен, кеширование работает должным образом: кэшируются результаты методов, помеченных @Cacheable
. К сожалению, когда служба Redis недоступна, любой вызов кэшируемого метода приводит к исключению RedisConnectionFailureException: Unable to connect to Redis
.
Я думаю, было бы разумно, если бы приложение могло работать (выполнять бизнес-лог c) независимо от кеша доступность.
Возможные решения:
- настраиваемая реализация (т.е. обертка, обрабатывающая ошибки вокруг кеша Redis)
- стандартная конфигурация в Spring с учетом работоспособности службы кеширования Redis ( если такое есть)
Как правильно настроить резервный кеш в SpringBoot?