Управление сессиями php с помощью redis — истечения TTL не обновляются при чтении

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

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

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

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

0

Решение

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]