【问题标题】:How to manage a pageview DB如何管理网页浏览数据库
【发布时间】:2010-12-18 12:54:38
【问题描述】:

我有兴趣跟踪我的用户在我的网站上的浏览量。由于流量增长非常快,我担心机器人等,我也希望能够实时使用跟踪数据来改变用户体验(所以,虽然我确实使用谷歌分析,但它不能达到这个目的) .

存储我的信息的最有效方式是什么?这是我目前的理论,请批评和/或提供更多想法:)

策略:在加载时收集 ip、页面 url、浏览器/版本、时间戳、来自客户端的引用并将一行插入 MySQL。根据时间或性能确定某个时间间隔以“归档”表并删除行或通过 cron 创建新行。

这稳定吗?

【问题讨论】:

    标签: php mysql statistics tracking archiving


    【解决方案1】:

    听起来很合理。如果您希望插入速度尽可能快,您应该将该表设为 MYIASM 并且没有任何索引。

    【讨论】:

      【解决方案2】:

      我不完全确定,但是用户表(可能通过 cookie 或会话分配用户 ID)、页面表(这可能实用也可能不实用,具体取决于它们的使用方式)生成的),以及一个跟踪表来显示每个用户 ID 所查看的页面(通过一些唯一的页面 ID 标识符)?

      Pages:
      page_id | page
      01      | homepage
      02      | site map
      03      | about us
      
      users
      user_id  | user_ip_or_cookie_identifier
      01       | 127.0.0.1
      02       | 192.168.0.2
      
      tracking
      user_id  | page_id
      01       | 01
      01       | 03
      02       | 01
      01       | 02
      

      (等等...)

      然后使用简单的 MySQL(或您正在使用的任何数据库)查询来检索哪个用户查看了哪些页面。

      主要弱点是用户在工作/家庭中具有不同的标识符(除非您登录),并且每个 ip 地址有多个用户,可能还有每个 cookie/会话(取决于用户的开放程度)共享他们的工作站/个人电脑)。

      【讨论】:

      • 不是一个坏主意......但我也想知道 $_GEt 值等......它很可能更容易通过 php 即时拉取 url,对?
      • 所以您最终会拥有一张包含所有信息的表格?是的;那应该可以解决。无论出于何种原因,它都感觉不那么干净,但它肯定听起来不臭。 =)
      猜你喜欢
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      相关资源
      最近更新 更多