Как предотвратить PropertyInfoExtractor от исчерпания cache.system (apcu cache)?
После миграции Symfony на версию 4.3 я начал получать такие ошибки, как Failed to save key "getTypes|getShortDescription|isReadable ..." of type array.
через некоторое время на моей "тестовой" настройке. Я начал расследование и обнаружил следующий запрос на извлечение информации, который, похоже, был связан с моими проблемами ( https://github.com/symfony/symfony/pull/31452).
Я обнаружил, что PropertyInfoCache записывается в системный кеш. Поскольку я использую doctrine и apcu (настройка api-platform.com) и на самом деле имею некоторые объекты прямо сейчас, сохраненные массивы содержали ~1000+ записей и постоянно записывались, вызывая apcu_store()
потерпеть неудачу через некоторое время.
Я попытался найти параметр конфигурации, чтобы "отключить" кэширование свойств, но не смог найти ничего полезного, так как он связан с kernel.debug
опция должна быть включена / отключена.
После некоторого времени исследования единственное "решение", которое я мог придумать, это явно установить пул кеша для property_info для какого-то другого адаптера кеша и предотвратить его исчерпание apcu:
framework:
cache:
pools:
cache.property_info:
adapter: cache.adapter.filesystem
Я не уверен, что это правильное решение моей проблемы, и, возможно, кто-то может предложить лучший способ. Но, возможно, это поможет другим, кто сталкивается с той же проблемой