Php 如何跟踪YouTube上的项目视图?
我希望能够跟踪某个项目的视图,以便查看哪些项目是昨天、上周或任何给定时期浏览最多的。Php 如何跟踪YouTube上的项目视图?,php,ruby-on-rails,Php,Ruby On Rails,我希望能够跟踪某个项目的视图,以便查看哪些项目是昨天、上周或任何给定时期浏览最多的。 如何使用PHP或Rails实现这一点?Rails中是否有用于此的插件,或者是否有一种使用PHP/memcached的简单方法?您可以有一个简单的SQL表,其中包含视频id、日期和整数计数器,每个视图递增 要从IP地址筛选多个视图,请使用包含视频id和IP地址的表。 每24小时截断一次,仅当ip地址不在此表中时才递增计数器。对于每个视图,将一些数据保存到SQL表中 唯一ID 项目ID 日期(例如unixtime
如何使用PHP或Rails实现这一点?Rails中是否有用于此的插件,或者是否有一种使用PHP/memcached的简单方法?您可以有一个简单的SQL表,其中包含视频id、日期和整数计数器,每个视图递增 要从IP地址筛选多个视图,请使用包含视频id和IP地址的表。
每24小时截断一次,仅当ip地址不在此表中时才递增计数器。对于每个视图,将一些数据保存到SQL表中
- 唯一ID
- 项目ID
- 日期(例如unixtime)
- 用户IP
SELECT COUNT(id) FROM view_table WHERE id = 1 AND date > 1241136000
正如Rémy所说,您可以简化这一过程,并使用一个数据库表跟踪各个页面视图,尽管这可能会导致视图的写入负载,这可能是不可取的 一种折衷方法是将每个视图的一行写入内存中的中间表,并定期(可能通过cron作业或每隔N个视图)更新主表中的聚合计数。如果您的读取负载非常高,那么您可以考虑在MimcHACK中存储临时计数器;正如您所看到的,写入磁盘备份表的频率越低,计数器的容错性就越差,尽管对于简单的流行计数器,这可能不是关键数据
一旦你有了页面浏览量,你可以做任何你喜欢的统计分析。那么,有什么东西可以帮我完成统计分析部分吗?+1。如果您想要处理严重的流量(比如头版digg),那么在每个页面视图中写入数据库是不可接受的。