记录用户操作和页面浏览量的最有效方法是什么?

What is the most efficient way to log user action and page viewes?

本文关键字:有效 方法 是什么 浏览量 操作 用户 记录      更新时间:2023-09-26

我创建了一个网站,用户可以在其中添加条目,在不同的表中关联行等等。我需要跟踪用户对计分表所做的操作。

我还需要跟踪页面浏览量。

我正在试图找出什么是最有效的方法来跟踪/记录这个

最好是:

  • 创建一个新的数据库,并在这里添加记录?
  • 添加记录在同一数据库作为网站?
  • 使用javascript通过URL发送参数到日志服务器?

还有其他好的方法吗?

我不知道我的网站上线后会有多少用户,但希望我能有一点流量

您可以创建以下行:

  • 日期和时间
  • 当前URL
  • <
  • 引用URL/gh>
  • 序列化$ _GET
  • 序列化$ _POST
  • 序列化美元_COOKIE

如果你想跟踪你的流量,这是非常有用的。

伪代码:

if(!$bot) { 
   $visit = Array(
     'date' => date("Y-m-d H:i:s"),
     'ip'   => $_SERVER['REMOTE_ADDR'],
     etc ...
   );
   $sql = "INSERT INTO visits (`".join("`,`",array_keys($visit)."`) VALUES ('".join("','",array_values($visit)."')";
   ...
}

使用相同的数据库,这样你将有更少的连接到mysql服务器

在PHP脚本中完成(在mysql_connect之后是相当好的主意),我相信每次访问一次INSERT对您的机器来说不是太大的挑战。

如果你想要可靠的结果,我不会使用Javascript,因为用户可能会禁用它,或者可能会试图操纵它以某种方式作弊。

理想情况下,我将使用一个单独的模式,因为这将是最好的扩展(您可能在将来希望将该模式分离到一个单独的服务器上进行处理),尽管它将使在两个模式之间连接数据变得困难。您可以在相同的模式下从一个新表开始(只要您的代码被很好地封装,您就可以在以后的某个日期将注销操作分解到一个单独的表中)。

我建议寻找异步解决方案(以尽量减少对最终用户的性能影响)并与整体访问者数据解决方案集成(以便可以组合各种指标的报告)。例如,Google Analytics(分析)提供了Event Tracking(事件跟踪)功能,这样你就可以在它的标准指标中添加访问者、页面浏览量等任意用户行为数据,就像你描述的那样。

是否考虑过使用HTML5 webstorage: http://www.w3schools.com/html5/html5_webstorage.asp

您可以使用javascripts sessionstorage对象(数据存储在键/值对中)将所有页面活动存储为该对象的属性,然后将此信息与注销操作一起POST到后端脚本,后端脚本反过来维护相应的数据库条目,我相信这样您可以避免不必要的http请求与所有开销,通过在一个最终请求中发送页面活动信息。

你应该在每次用户登录时重新初始化对象