微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 跟踪页面查看并显示每日,每周,每月结果

平台:PHP5,MysqL

我有一个网站,显示按类别分类文章.我想跟踪每篇文章的观看次数.然后,在侧栏中,显示前5个文章,查看当天,过去的温柔和上个月内的文章.您认为最好的方法是什么?每个视图的数据库中有一行(article_id,timestamp)?什么是最少的服务器工作量?

谢谢,乔

解决方法:

这可能成为一个棘手的问题.如果您只是存储原始命中,您的表将快速增长并且数字处理会变得更加耗时.因此,解决这个问题的一种方法是使用cron作业创建聚合表并处理数字.

例如,您可以拥有以下表格

> hit_count:article_id,timestamp
> hit_count_daily:day,year,article_id,hit_count
> hit_count_weekly:week,year,article_id,hit_count
> hit_count_monthly:month,year,article_id,hit_count
> hit_count_yearly:year,article_id,hit_count

然后,您可以处理hit_count表中的数据,将其添加到聚合表,然后从hit_count表中删除数据.

您还需要考虑如果有人刷新页面或Google抓取文章会发生什么.你想把它们算作命中吗?

为了防止抓取工具触发命中,您可以使用页面上的一些Javascript与服务器进行通信并注册命中.这样,普通浏览器将触发命中,但爬虫不会.

您还可以将此任务卸载到另一个服务,如ChartbeatClicky

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐