Терр Онтал
Мудрец
(13147)
10 часов назад
Пусть от клиентского приложения раз в минуту(тридцать секунд, десять секунд или в любой приемлемый интервал времени) приходит особый запрос на сервер. Если запрос пришел, то пользователь онлайн. Если нет, то офлайн. Хранить онлайн/офлайн лучше в каком-нибудь Кеше типа редиса, и там настроить expire для ключа где хранится статус пользователя
n0blemanНовичок (0)
9 часов назад
И каким кодом определить пользователя у которого время вышло ? И записать потом в mysql
Андрей
Высший разум
(468359)
8 часов назад
Ну так храни сами сессии в БД. И создай в таблице хранения сессий поле с ON UPDATE CURRENT_TIMESTAMP и поле с id пользователя. Автоматически получишь и время последней загрузки страницы, и статусы пользователей - без необходимости обновляемой колонки offline.
Только вот 1 минута - это бессмысленно.
Миллион пользователей ты получишь только через очень много лет. И думать сейчас о том, что может быть когда-то в будущем начнёт тормозить из-за избытка пользователей, по меньшей мере неразумно.