Нас попросили реализовать кэширование в приложении с помощью Redis. Приложение должно иметь логику очищать кеш при запуске и инициализировать его. Однако экземпляр Redis может совместно использоваться несколькими экземплярами приложения.
например. Приложение X имеет два экземпляра X0 и X1, совместно использующих один и тот же экземпляр Redis.
Проблема: При наличии нескольких экземпляров возможно, что один экземпляр пытается инициализировать кеш, а другой экземпляр очищает его.
Два вопроса
1) Как убедиться, что во время инициализации кэша другой экземпляр не очищает его.
Один из способов решения этой проблемы — поддерживать флаг в Redis, чтобы проверять, сбрасывается ли он или инициализируется. Если кеш инициализируется, не очищайте и не инициализируйте его повторно.
2) Является ли хорошей практикой использование общего экземпляра Redis для нескольких экземпляров приложения?