Лимит записи метаданных сесии
Лимит записи метаданных сесии
По умолчанию, поведение PHP-сессии заключается в том, чтобы сохранять сессию, независимо от того, изменялись ли её данные. В Symfony, каждый раз, когда был доступ к сессии, записаются метаданные (сессия использована/использовалась в последний раз), что можно использовать для определения возраста сессии и времени ожидания.
Если по причинам производительности, вы хотите лимитировать частоту, с которой сохраняется сессия, эта функция может настроить глубину детализации обновлений метаданных и сохранять сессию реже, продолжая сохранять относительно достоверные метаданные. Если изменяются другие данные сессии, то она будет сохраняться всегда.
Вы можете сказать Symfony не обновлять время метаданных "сессия была обновлена в
последний раз" до того, как прошло определённое количество времени, установив в
framework.session.metadata_update_threshold
значение в секундах, более нуля:
1 2 3
framework:
session:
metadata_update_threshold: 120
Note
Поведение PHP по умолчанию - это сохранять сессию независимо от того, изменялась
она или нет. При использовании framework.session.metadata_update_threshold
,
Symfony будет оборачивать обработчик сессии (сконфигурированный в
framework.session.handler_id
) в WriteCheckSessionHandler. Это предотвратит запись
любой сессии, если она не была изменена.
Caution
Имейте в виду, что если сессия не записывается по каждому запросу, то она может подвергнуться "сборке мусра" быстрее, чем обычно. Это означает, что ваши пользователи могут выйти из системы быстрее, чем вы рассчитывали.