2016-02-11 1 views
0

У меня есть веб-приложение, работающее на Laravel php 5.2 Чтобы проверить активность моего пользователя и возвращающихся пользователей, я внедрил поле last_login в таблице моих пользователей и слушатель, который будет обновлять его на каждом авторизоваться.Внедрение last_login или last_active в laravel PHP

Все хорошо, но что происходит, у меня есть токен «запомнить меня», и когда пользователь уже вошел в систему и возвращается в приложение с токеном, последний_login не обновляется.

Я думал об обновлении этого поля при каждом действии пользователя, но, похоже, он не оптимизирован и может вызвать некоторые проблемы с производительностью. Любые идеи о том, как я мог бы реализовать эту «последнюю_активную» вещь, мало влияя на производительность

+0

Не получая ваш '' запомни меня 'token' part.Could, пожалуйста, изучить больше? –

ответ

0

Как вы сами предлагаете, я бы (и сделал) обновляю последнюю активную метку времени с каждым вызовом pageload/и ajax, которые затрагивают пользователя. .. Вам нужно будет говорить о миллионах одновременных пользователей, чтобы это было проблемой ... но тогда вы все равно оказались бы на арене балансировки нагрузки в Интернете и DB serevrs.

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

Кроме того, еще один хороший способ, чтобы держать это в хорошей форме (в зависимости от архитектуры вы) использует 2 соединения ... один только для чтения запросов и один для обновления, вставки и т.д.