За последние 24 часа нас посетили 18782 программиста и 1704 робота. Сейчас ищут 904 программиста ...

Фиксация последнего посещения пользователя

Тема в разделе "PHP для новичков", создана пользователем Mr. T, 2 дек 2011.

  1. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    Добрый день,
    задам глупый вопрос: как грамотно фиксировать последнее посещение пользователя, если используется БД. Есть поле "дата последнего посещения" в БД, с ним и нужно работать. Понятно, что это счетчик и его нужно обновлять, но в моем понимании при каждом обновлении страницы делать UPDATE-запрос к БД как-то не здраво что ли, как это делать делается в CMS, запрос кешируется и все?
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Делать на редис с асинхронной репликацией каких-нибудь кратных пакетов. Зависит от нагрузки.
    Если у тебя на сайте 1 000 или даже 2 000 посетителей, то там хоть update high_priority - разницы не почувствуешь.
     
  3. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    А что это и с чем его едят? :)
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Думаю, что в большинстве CMS, где такое есть - будет просто UPDATE-запрос. Хотя, честно говоря, особо-то я их никаких и не знаю. Но я думаю, что CMS не будут требовать от хостинга установленный и настроеный redis или там, не знаю, memcache какой-нибудь.
    Для большинства вещей пофигу на ещё один UPDATE-запрос. Я думаю, не стоит особо париться. А если дойдёт до того, что сайт трещит по швам от перегрузок и сервак регулярно падает - как правило можно купить железо помощнее.
    Ещё можешь попробовать в сессию записывать дату/время последнего обновления времени последнего посещения в б.д. и обновлять это, скажем, не чаще чем раз в 5 минут, а не апдейтить по каждому клику.