Поле обновления CakePHP на время ожидания сеанса - PullRequest
0 голосов
/ 13 марта 2012

Я использую сеансы базы данных в CakePHP, сохраняя также идентификатор пользователя в той же таблице, что и сеансы. Можно ли как-то определить, когда истекает сеанс пользователя, чтобы я мог обновить одно поле в базе данных?

Мне нужно, чтобы в случае, если пользователь не вышел из системы вручную с веб-сайта (просто закрывает браузер или нет), я могу удалить этот сеанс из таблицы.

1 Ответ

0 голосов
/ 13 марта 2012

Очистка данных сеанса основана на сборке мусора (gc). Этот процесс сбора мусора вызывается только при запуске PHP-скрипта, то есть он не очищает данные сразу, когда их можно очистить, а через некоторое время после запуска другого PHP-скрипта. Так как сборка мусора также требует некоторых ресурсов, она запускается не каждый раз, но есть определенная вероятность, что она будет выполняться для каждого вызова скрипта. По умолчанию gc запускается примерно один раз каждые 100 вызовов скриптов.

Таким образом, вы не увидите, что устаревшие данные исчезнут немедленно. Скорее, он будет в конечном итоге очищен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...