кто онлайн

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
bookin
Сообщения: 37
Зарегистрирован: 2011.01.28, 12:43

кто онлайн

Сообщение bookin »

Кто то реализовывал у себя, что то типа друзья онлайн, та или хотя бы сколько онлайн людей, поделитесь мыслей реализации, как лучше сделать данный функционал?
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: кто онлайн

Сообщение rak »

при посещении страницы юзером сохранять дату последнего действия. Потом выбирать статистику за последние n минут
bookin
Сообщения: 37
Зарегистрирован: 2011.01.28, 12:43

Re: кто онлайн

Сообщение bookin »

да, согласен самый простой вариант, возможно мне более интересно как менее нагружат сервак
Аватара пользователя
Svyatov
Сообщения: 459
Зарегистрирован: 2010.08.12, 14:50
Откуда: Санкт-Петербург
Контактная информация:

Re: кто онлайн

Сообщение Svyatov »

bookin писал(а):да, согласен самый простой вариант, возможно мне более интересно как менее нагружат сервак
Кэшировать дополнительно список этих юзеров на 5 минут, например. Или если юзеров сотни тысяч, то завести отдельную табличку для тех, кто онлайн.
bookin
Сообщения: 37
Зарегистрирован: 2011.01.28, 12:43

Re: кто онлайн

Сообщение bookin »

сразу буду заводить отдельную таблицу, пожалуй да надо бы кешить
kostyan
Сообщения: 66
Зарегистрирован: 2011.08.23, 11:46

Re: кто онлайн

Сообщение kostyan »

Svyatov писал(а):
bookin писал(а): Или если юзеров сотни тысяч, то завести отдельную табличку для тех, кто онлайн.
а на сколько целесообразнее завести таблицу перед создание дополнительного поля в основной таблице со всеми пользователи, всегда интересовал такой нюанс?
SpiLLeR
Сообщения: 350
Зарегистрирован: 2009.09.17, 16:47
Откуда: Санкт-Петербург
Контактная информация:

Re: кто онлайн

Сообщение SpiLLeR »

Ну скорее всего, как вы поймете что держать N кол-во кило\мега\гига байт в мемкеше вам накладно заведите табличку))
Предупрежден - значит вооружен.
devKP.ru
Токагэ
Сообщения: 27
Зарегистрирован: 2011.04.21, 14:04

Re: кто онлайн

Сообщение Токагэ »

Как вариант, можете завести табличку в памяти (в MySQL тип MEMORY), добавляя/обновляя в ней пользователей, проявивших активность, и по крону (раз в полчаса-час) зачищая от людей, которые в течение какого-то времени активность не проявляли.
Аватара пользователя
Svyatov
Сообщения: 459
Зарегистрирован: 2010.08.12, 14:50
Откуда: Санкт-Петербург
Контактная информация:

Re: кто онлайн

Сообщение Svyatov »

Токагэ писал(а):Как вариант, можете завести табличку в памяти (в MySQL тип MEMORY), добавляя/обновляя в ней пользователей, проявивших активность, и по крону (раз в полчаса-час) зачищая от людей, которые в течение какого-то времени активность не проявляли.
Вот это, кстати, пожалуй будет оптимальный вариант. Ну до определенного количества юзеров онлайн, естессно :)
qwerty_nor
Сообщения: 7
Зарегистрирован: 2011.08.23, 15:20

Re: кто онлайн

Сообщение qwerty_nor »

Я буду использовать Comet (http://dklab.ru/lib/dklab_realplexor/) для этих целей, т.к. в моем проекте еще планируется чат с теми, кто онлайн.
Токагэ
Сообщения: 27
Зарегистрирован: 2011.04.21, 14:04

Re: кто онлайн

Сообщение Токагэ »

qwerty_nor писал(а):Я буду использовать Comet (http://dklab.ru/lib/dklab_realplexor/) для этих целей, т.к. в моем проекте еще планируется чат с теми, кто онлайн.
А как вы планируете использовать это в связке с Yii?
Аватара пользователя
Stamm
Сообщения: 407
Зарегистрирован: 2010.03.14, 18:59
Откуда: Россия, Москва
Контактная информация:

Re: кто онлайн

Сообщение Stamm »

Токагэ писал(а):
qwerty_nor писал(а):Я буду использовать Comet (http://dklab.ru/lib/dklab_realplexor/) для этих целей, т.к. в моем проекте еще планируется чат с теми, кто онлайн.
А как вы планируете использовать это в связке с Yii?
Собственно реализация клиента есть на php, написать компонент-обёртку много времени не займёт.
bookin
Сообщения: 37
Зарегистрирован: 2011.01.28, 12:43

Re: кто онлайн

Сообщение bookin »

а почему именно данный сервер? и сможете ли вы поделится опытом реализации функционала?
Ответить