Это может стать сложной проблемой. Если вы просто храните необработанные совпадения, ваша таблица будет быстро расти, и обработка чисел займет больше времени. Таким образом, один из способов справиться с этим — создать сводные таблицы и обработать числа с помощью задания cron.
Например, у вас могут быть следующие таблицы
- hit_count: article_id, отметка времени
- hit_count_daily: день, год, article_id, hit_count
- hit_count_weekly: неделя, год, article_id, hit_count
- hit_count_monthly: месяц, год, article_id, hit_count
- hit_count_yearly: год, article_id, hit_count
Затем вы обрабатываете данные в таблице hit_count, добавляете их в сводные таблицы, а затем удаляете данные из таблицы hit_count.
Вам также нужно подумать о том, что произойдет, если кто-то обновит страницу или если Google просканирует статью. Вы хотите считать их хитами?
Чтобы поисковые роботы не запускали хиты, вы можете использовать какой-нибудь Javascript на странице, чтобы связаться с вашим сервером и зарегистрировать хит. Таким образом, обычный браузер вызовет попадание, а сканер — нет.
Вы также можете передать эту задачу другому сервису, например Chartbeat или Нажмите
person
Nick Clark
schedule
22.10.2011