У вас есть несколько вариантов, как я вижу.
Печенье
Вы можете хранить куки в браузере пользователя для каждой страницы вы каротажного видом на. Проверьте наличие этого cookie и не регистрируйте представление, если файл cookie уже существует.
Недостатком этого является то, что он не будет работать, если файлы cookie отключены или кто-то пытается играть в систему.
С положительной стороны вам не нужно беспокоиться о хранении потенциально миллионов/миллиардов строк данных таблицы.
Database
Вы держите запись для каждого вида. Соответствие этой записи пользователю каким-либо образом, например. MemberID, IP-адрес; то, что должно быть уникальным для пользователя. IP не идеален, но достаточно хорош, если вы не требуете от пользователя входа в систему.
Таким образом, вы бы иметь, например, таблицу со следующими столбцами,
- ArticleID (Foreign Key)
- Идентификатор_пользователя (Foreign Key)
- Дата
дата будет полезны по нескольким причинам,
- Отчетность. Вы можете создать намного лучшую статистику, как только вы узнаете, когда было записано каждое представление.
- Просмотр тайм-аутов. Например, вы можете хранить только один просмотр на пользователя в час. С помощью столбца даты вы можете сделать это.
Если ваше приложение становится популярным в этой ситуации, вам придется иметь дело с последствиями для хранения. Я запускаю популярное приложение Facebook, в результате которого каждый день добавляется более 100 000 строк. Реально, хотя, если ваше приложение становится настолько популярным, что это становится проблемой, тогда у вас будет гораздо больше проблем.
у вас есть код примера? – AminM