[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Онлайн Офлайн
littleman
Тут есть мылся, сделать на сайте онлайн\ офлайн пользователь, но чёт меня коробит нагрузка, при каждом обновление страницы нужно делать запрос в БД, потом делать запись или обновлять запись.
Хотел поинтересоваться, а можно сделать так чтобы запросы не каждый раз обновлять с перезагрузкой страницы .
К примеру, обновить запись и записать, время в БД, а время в куки юзеру и проверять если прошло свыше 5 минут, обновлять БД юзера, если он ушёл, то и запись там будет что типа был 5 минут назад.
Как вам такая идея ?
exotica
Помоему проще при переходе обновлять дату активности в бд, а скрипт проверочник поставить на cron каждые 5 минут. хотя хз

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
sergeiss
Используй сессию тогда уж.

Только учти, что любая операция потребует какого-то времени.
1. БД да, идет обращение и запись/обновление.
2. Запись в куки - это отправка инфы с сервера. А потом эти куки будут при каждом обращении пересылаться на сервер, вне зависимости, нужны ли они. А это опять же время. В браузере куки будут читаться откуда-то с диска, это тоже файловые операции, т.е. время.
3. Работа с сессиями - это работа с файлами. На их чтение-запись тоже время нужно smile.gif

Короче говоря, везде будут "накладные расходы". Возможно, что использование БД будет не самым медленным.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
bestxp
sergeiss

3 пункт ты не прав, сессия может храниться где угодно, как сделаешь
sergeiss
Цитата (bestxp @ 24.06.2014 - 17:06)
3 пункт ты не прав, сессия может храниться где угодно, как сделаешь

Не понял... Что значит "где угодно"? Изначально переменные сессии хранятся в обычных текстовых файлах. Можно и в БД настроить, да. Но суть в том, про что я подчеркивал, что в любом случае будут файловые операции, что с сессией, что напрямую с БД работать.

Я почему на это упираю так... Потому что в стартовом топике звучит так, что якобы при работе с БД будет какая-то супер-пупер нагрузка, а с куками ее, якобы, не будет. Вот я и говорил о том, что что бы ни рассматривали (заодно и сессии я сюда притащил), все равно приходим к тому, что с файлами работать.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
vagrand
sergeiss
Цитата
Но суть в том, про что я подчеркивал, что в любом случае будут файловые операции, что с сессией, что напрямую с БД работать


Не совсем так. Можно ведь сессии и в том же Redis хранить.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
kjdgh
Цитата (littleman @ 24.06.2014 - 16:23)
Тут есть мылся, сделать на сайте онлайн\ офлайн пользователь, но чёт меня коробит нагрузка, при каждом обновление страницы нужно делать запрос в БД, потом делать запись или обновлять запись.
Хотел поинтересоваться, а можно сделать так чтобы запросы не каждый раз обновлять с перезагрузкой страницы .
К примеру, обновить запись и записать, время в БД, а время в куки юзеру и проверять если прошло свыше 5 минут, обновлять БД юзера, если он ушёл, то и запись там будет что типа был 5 минут назад.
Как вам такая идея ?

Эта нагрузка ничтожна при адекватно составленном запросе.

_____________
Новичек в программировании и вообще не разбираюсь в этом, так что не вините.



Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.