4

我想统计一个网页上的访问量,这个页面代表了我模型的一个元素,就像 Stack Overflow 问题页面浏览量一样。

如何以可靠(一次访问,一次综合浏览,无重复)和稳健(考虑性能,而不仅仅是新表属性“visits_count”)来做到这一点

4

3 回答 3

7

你不能。

  • 多个人可以从同一个 IP 访问您的站点(使 ip 存储无用)
  • 多人可以从同一台 PC 访问您的网站
  • 多个人可以从同一个浏览器访问您的网站(使 cookie 无用)

您可以获得的最接近的方法是将访问者 IP 与 cookie 结合起来存储,以便将来不计算在内。这是一个权衡,如果他们清除 cookie,他们就是新访客。如果您只存储 IP,则将整个代理计为一个访问者。

另一种选择是使用用户帐户并准确跟踪哪个用户查看了哪个页面,但这对于公共站点来说并不是一个很好的选择。

于 2009-02-17T18:48:55.217 回答
1

实际上,我建议使用 Google Analytics。虽然没有什么是真正准确的,但他们确实在这方面做得非常好,而且您可以提取的报告和有用信息的水平令人惊叹。

更不用说每月最多可免费获得 4,000,000 次页面浏览量。

http://www.google.com/analytics

于 2009-02-17T19:32:14.397 回答
0

处理性能问题的一种方法是在插入时进行计算。就像是

UPDATE stat SET viewcount = viewcount+1 WHERE date = CURDATE()

这不是完美的解决方案,但可以为您提供一些帮助。

不重复地做到这一点可能是一个棘手的问题。我会简单地依赖使用会话或 cookie,但您可以想出各种策略来过滤爬虫、不支持 cookie 的客户端等等。

于 2009-02-17T18:52:13.697 回答