В нашей настройке мы используем FPM (FastCGI Process Manager) и Nginx, а также хранилище памяти, чтобы уменьшить количество обращений к Redis. Однако мы сталкиваемся с проблемой, из-за которой некоторые циклы foreach обрабатывают множество одинаковых фрагментов данных, например коды IATA авиакомпаний на рейсах. Например, если имеется 100 элементов с одинаковым кодом IATA, наша система в настоящее время выполняет 100 отдельных обращений для получения этих данных.
Этот подход отлично работает с FPM, но создает проблемы в работнике Supervisor. контейнер. У нас есть наблюдатели, настроенные на удаление ключей кэша и памяти после обновления базы данных. Проблема возникает из-за того, что рабочий процесс работает в контейнере, отличном от приложения, поэтому ключи памяти не удаляются до тех пор, пока прослушиватель ForgetMemoryCache не будет отправлен рабочему процессу.
Как вы думаете, учитывая эту настройку? разумно ли продолжать использовать этот подход? Что вы думаете?
Подробнее здесь: https://stackoverflow.com/questions/788 ... and-superv