Как уникально подсчитать посещения для каждой конкретной страницы - PullRequest
1 голос
/ 29 января 2012

Давайте начнем со сценария:

В приложении есть раздел Продукты с +100 продуктами и поле "Количество посещений" необходимо на странице сведений о каждом продукте, которая показывает количество посещений.для этого продукта.

Вам необходимо запретить этот счетчик посещений до +1 каждый раз, когда определенный посетитель обновляет страницу,
, но вы хотите, чтобы посещение этого пользователя было засчитано на следующий день визит.

Таким образом, если вы выбираете подход с использованием файлов cookie, вам нужно 1 файл cookie на каждый продукт для одного посетителя.Поскольку при использовании одного cookie-файла с вложенными ключами вы не можете указать, какой из вложенных ключей (продукта) должен быть просрочен, так как весь cookie-файл истекает в указанное время.

Кроме того, поскольку существует слишком много продуктов, почти бессмысленно (и не разрешено) иметь +100 файлов cookie (или один файл cookie с 100 подразделами) для любопытного посетителя, который хочет просмотреть все продукты.

Какие у вас предложения?

Ответы [ 3 ]

1 голос
/ 29 января 2012

Вам нужен только один файл cookie, чтобы однозначно идентифицировать пользователя.

После этого вы можете в журнале загрузки страницы продукта посмотреть, какой пользователь смотрел на какой продукт.

Затем у вас есть список всех посещений, из этого списка вы можете выбрать уникальные ежедневные посещения каждого пользователя.

0 голосов
/ 20 августа 2012

Почему бы не использовать базу данных? Вы можете создать таблицу для хранения списка такого рода:

  • product_id
  • user_id
  • дата

Затем при каждом посещении вы можете проверить, посещал ли текущий пользователь текущий продукт сегодня. Если так, ничего не делай. Если нет, добавьте одну запись.

Тогда у вас может быть периодическое задание, которое обрабатывает этот список каждые 10 минут и соответствующим образом обновляет поле представлений.

0 голосов
/ 29 января 2012

Я думаю, что двумя возможными решениями являются либо установка файлов cookie, либо запись IP-адреса, который время от времени будет меняться последним, так что вы можете использовать только первый вариант, а время cookie вы можете установить. в течение длительного периода времени, что делает его трудно истечь.

...