Мне нужно было отслеживать посетителей в Интернете, поэтому я создаю таблицу MySQL - online_users
с полями;Отслеживание онлайн-пользователей и страниц (без mysql?)
id (primary key), user_name, last_activity (DATETIME), page_url
При загрузке каждой страницы сценарий вставляет новую строку в эту таблицу и сохраняет соответствующую информацию.
Все работает отлично, но эта таблица заполняется быстро (около 6к вставки ежедневно). Он не делает никаких вставок, если посетитель не вошел в систему.
На данный момент я вручную удаляю записи старше 2 недель (и я могу настроить задание cron для выполнения этой работы, и это не позволит размер стола слишком велик). Кроме того, идея этих многих вставок выглядит не слишком хорошо для меня, поэтому я хочу заменить ее, но потерял немного. Вы можете предложить что-нибудь лучше, пожалуйста? У меня есть сервер Windows.
Вместо 'INSERT' запись, добавить' 'last_activity' и last_page_url' в' users' таблицы и просто 'UPDATE' каждый раз? – naththedeveloper
Возможно, вам будет проще решить проблему, если вы сообщите нам, для чего вы используете эту информацию? Это просто проверка всей деятельности; вам действительно нужно отслеживать его для всех страниц? – naththedeveloper
Да, я уже собираюсь делать обновления, когда user_id уже существует. это, безусловно, будет ограничивать размер таблицы до количества пользователей. Я намерен использовать эту информацию для целей аудита + предлагать живую поддержку, когда пользователи фактически просматривают веб-сайт. Я вижу, на какой странице они находятся и т. Д. – user1421214