управление сессиями php с помощью redis - истечения срока действия TTL не обновляются при чтении - PullRequest
0 голосов
/ 21 мая 2018

Я использую redis в качестве бэкенда для управления сессиями php в многосерверной конфигурации.

Redis использует session.gc_maxlifetime для установки TTL, но TTL не обновляется при чтении сеанса.Он обновляется только при записи.

Это означает, что я должен добавлять изменение значения сеанса $_SESSION ['dummy'] = time(); в каждый запрос, чтобы поддерживать сеанс в рабочем состоянии.

Это ожидаемое поведение?я должен перейти на memcached или написать собственный модуль сессии php?

1 Ответ

0 голосов
/ 21 мая 2018

Redis не сбрасывает TTL автоматически, когда вы читаете ключ.Если вы хотите обновить TTL сеанса при его чтении, это необходимо сделать в приложении по конвейеру.

...