Я занимаюсь разработкой веб-сайта электронной коммерции, который содержит около 2000-3000 продуктов (количество может увеличиться в ближайшем будущем). Поэтому мне нужно подсчитать общее количество просмотров страниц для определенного продукта.
Я знаю, что это возможнопросто сделать это, просто обновив таблицу mysql при каждой загрузке страницы, но это неправильный способ сделать это, потому что кто-то просто снова нажимает кнопку перезагрузки, и количество просмотров страниц увеличивается.
Так что я хочу сделатьэто лучше, так что всего просмотров нет.несколько ближе к уникальному / реальному.
Мне пришла в голову мысль, что я могу сделать это тремя способами: \
1.Использование файлов cookie , поэтому, если я просто сохраняю файлы cookie для каждого продукта, проверьтепротив этого для следующего уникального посещения, тогда это может быть сделано, но я думаю, что это не лучший способ сделать это, потому что если общее количество файлов cookie не вырастет, то это повлияет на производительность моей страницы при каждом запросе страницы.
2. Использование сеанса Я могу использовать сеанс для хранения данных о каждом продукте и личности посетителя, чтобы я мог отслеживать, является ли это уникальным или повторяющимся визитом. Но я думаю, что размер данных сеанса также увеличивается, если пользователь посещает больше& больше продуктов с той же сессии.Так хорошо ли использовать сессию для этой цели?
3.Используйте базу данных Я могу создать таблицу page_views
, затем обновить данные подсчета, проверив задержку между последним посещением исопоставляя IP-адрес и идентификатор сеанса.
, поэтому, пожалуйста, предложите мне, какой метод лучше использовать и лучший способ реализовать этот метод.
Я использую PHP (Codeigniter)2.0.1) + Mysql