Вступить в клуб →
средняявопросКэш и Redis в Spring

После обновления тарифа разные запросы показывают то старую, то новую цену

Тарифы кэшируются в локальном кэше Caffeine внутри приложения. Сервис работает в шести репликах. При изменении тарифа запрос попадает в одну реплику, она делает @CacheEvict. Пользователи видят то новую, то старую цену в зависимости от того, в какую реплику попал запрос.

Что происходит и как решить?

  • Сброс сработал в одной реплике; нужен общий кэш или рассылка события о сбросе
  • Caffeine не поддерживает @CacheEvict в многопоточной среде
  • Балансировщик кэширует ответы и отдаёт старые
  • Нужно вызывать @CacheEvict шесть раз подряд

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела