Реализовать уникальный счетчик просмотра страницы?

Мое возможное решение состояло в том, чтобы создать симпатичное (и довольно большой) палитра и сохранить ее как постоянный массив в источнике, затем интерполировать между индексами в ней с помощью гладкого алгоритма окраски. Палитра переносится (и разработан, чтобы быть непрерывным), но это, кажется, не имеет значения очень.

8
задан Community 23 May 2017 в 12:23
поделиться

2 ответа

Если вам нужно специально отслеживать уникальные просмотры, вероятно, есть два способа сделать это ... если только вы не работаете с внутренними пользователями, которых вы можете идентифицировать. Теперь, чтобы сделать это, вам необходимо отслеживать каждого пользователя, посетившего страницу.

Отслеживание может осуществляться как на стороне сервера, так и на стороне клиента.

На стороне сервера должны быть IP-адреса, если вы не имеете дело с внутренними пользователями, которых вы можете идентифицировать. И всякий раз, когда вы имеете дело с IP-адресами, применяются все обычные предостережения об их использовании для идентификации людей (может быть несколько пользователей на IP или несколько IP на пользователя), и вы ничего не можете с этим поделать.

Вам также следует учитывать что «огромная таблица IP-адресов» не так уж и плоха. Производительность станет проблемой только в том случае, если у вас есть сотни тысяч пользователей ... если, конечно, она правильно проиндексирована.

На стороне клиента , вероятно, вы оставите сообщение «Я был!» куки. Если cookie НЕТ, увеличьте количество пользователей. Если файл cookie не может быть создан, вам придется жить с раздутым пользовательским представлением. И все предостережения относительно работы с куки-файлами применимы ... то есть они рано или поздно испортятся и исчезнут.

6
ответ дан 5 December 2019 в 22:19
поделиться

Кажется, существует революционный подход (над моей головой), который я сам пока не уверен в масштабируемости или, скорее, выполнимости.

Если вы действительно хотите сохранить IP в БД и хотите избежать засорения БД ur, вам следует подумать о хранении их в иерархическом порядке.

<ID, IP_PART, LEVEL, PARENT_PART, VIEWS>

поэтому, когда пользователь посещает ваш веб-сайт с IP-адреса 212.121.139.54, строки в таблице ur будут такими:

<1, 212, 1, 0, 0> <2, 121, 2, 1, 0> <3, 139, 3, 2, 0> <4, 54, 4, 3, 1>

На заметку:

  1. Только строки с LEVEL val = 4 будут иметь счетчик просмотров.
  2. Чтобы избежать дублирования при хранении VIEWS val = 0, для LEVEL val = 1,2,3; вы можете подумать о хранении их в другой таблице.
  3. Идея в том виде, в котором она была задумана, не кажется подходящей для небольшого набора IP-адресов.
  4. Хотя при этом можно было пренебречь тем фактом, что IP-адрес публичного прокси-сервера перед частной сетью доступ к вашему сайту из более чем одного ящика. Но, похоже, это не твои вопросы. я думаю.

Итак, чао, дай мне знать, что ты реализовал?

0
ответ дан 5 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: