Как настроить резервный кеш в SpringBoot при невозможности подключиться к Redis? - PullRequest
0 голосов
/ 10 июля 2020

Существует приложение 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) независимо от кеша доступность.

Возможные решения:

  1. настраиваемая реализация (т.е. обертка, обрабатывающая ошибки вокруг кеша Redis)
  2. стандартная конфигурация в Spring с учетом работоспособности службы кеширования Redis ( если такое есть)

Как правильно настроить резервный кеш в SpringBoot?

...