Это может стать сложной проблемой.Если вы просто сохраняете необработанные хиты, ваша таблица будет быстро расти, а сокращение чисел будет занимать больше времени.Таким образом, один из способов справиться с этим - создать статистические таблицы и обработать числа с помощью задания 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: year, article_id, hit_count
Вы тогдаобработать данные в таблице hit_count, добавить их в таблицы агрегирования, а затем удалить данные из таблицы hit_count.
Вам также нужно подумать о том, что произойдет, если кто-то обновит страницу или Google сканирует статью,Хотите ли вы считать их попаданиями?
Чтобы сканеры не инициировали попадания, вы можете использовать Javascript на странице, чтобы связаться с вашим сервером и зарегистрировать попадание.Таким образом, обычный браузер будет инициировать попадание, но сканер не будет.
Вы также можете перенести эту задачу в другой сервис, например Chartbeat или Clicky