越来越多的网站正在显示某些页面收到的查看次数(以及在 dzone.com 上的点击次数)。跟踪视图#而不在每次加载时访问数据库的最佳实践是什么?
我脑子里有很多关于如何做到这一点的潜在想法,但似乎没有一个可行。
谢谢,第一次使用。
我会首先尝试数据库方法——返回自动增量计数器的值应该是一个相当便宜的操作,所以你可能会感到惊讶。即使保留一个包含许多项目的表来记录命中计数也应该是相当高效的。
但问题是如何避免每次调用都击中数据库。我建议将表加载到 webapp 中并在那里增加它,只在定期或 webapp 关闭时将其备份到数据库。
一个便宜的技巧是简单地将值缓存几分钟。
无论如何,确切的查看次数并不重要,因为在繁忙的网站上,当访问者浏览页面时,已经有一批新的查看。
您可以设置一个包含点击数的平面文件。这会有扩展问题,但它可以工作。
如果您不关心显示页面浏览量,您可以使用google analytics或piwik 之类的东西。两者都在页面加载后发出请求,因此不会影响加载时间。可能有一种方法可以向分析服务器发出 ajax 请求,但我不确定。Piwik 是开源的,所以你可以一起破解一些东西。
如果您使用服务器端脚本,请在变量中增加它。如果您重新启动服务,它可能会被重置,因此如果需要准确性,这不是一个好主意。