如何使用简单的缓存系统计算页面视图

时间:2012-03-19 14:12:25

标签: php mysql

我正在使用一种非常简单的FAST缓存技术。我刚刚实施了这个技术,很棒。

我的数据库上有一行计算页面浏览量。这也是一种非常简单的技术。

  

$ query_rs_update = sprintf(“UPDATE表SET views = views + 1 WHERE id   =%s“,GetSQLValueString($ colname_DetailRS1,”int“));

我无法找到使用此技术的方法并同时计算VIEWS。由于Page正在缓存..?

任何人都有更好的技术?您可以将查询转换为Javascript,以便它可以使用缓存吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

您的页面上可能有一些javascript会向记录页面视图的单独页面发出AJAX请求。这与大多数网站统计引擎(即Google Analytics)的工作方式类似。

答案 1 :(得分:1)

可能有特定原因以您的方式执行此操作,但通常认为通过MySQL跟踪网页浏览量或活动是不好的做法。现在你的两个问题是页面被缓存,跟踪能力将严重不足。例如,您将缺少将有机与机器人流量分开的能力。

最好允许一个独立,值得信赖且功能强大的指标供应商按照他们的生活方式进行跟踪 - 并且他们可以提供丰富的数据集来进行探索。

警告:检查主持人的服务条款

请注意,某些托管公司在其服务条款中明确禁止托管SQL使用的“性能跟踪”形式(计数增量可能适用于此处,因为它可以更改索引信息。)除非您使用的是InnoDB存储引擎,性能总是很糟糕,因为在更新完成之前,表将被锁定以进行所有读取。

使用Google Analytics

GA存在局限性,但积极的是:

  • CACHING:它绕过任何本地缓存模式
  • 效率:将开销资源跟踪卸载到客户端
  • 价格:可以免费使用
  • FILTER:从人类活动中移除机器人流量
  • 浏览:报告可以整齐地组织,分享和探索
  • WRITE:具有虚拟页面跟踪功能(因此仍可以跟踪您的唯一Ajax动态页面交互)
  • 阅读:您可以使用API​​来检索数据;例如:查看最多(见http://www.electrictoolbox.com/google-analytics-api-php-class-most-popular-pages/

答案 2 :(得分:0)

你可以使用Javascript!只需下载Node.js,在终端中键入以下内容:npm install --save express和npm install --save socket.io。然后,请按照本教程:https://gist.github.com/Squiva/0eabc2ca5080fd2e4de5