我希望能够以一种方式跟踪项目的视图,以便我可以看到昨天,上周或任何给定时段内查看的项目最多。 我怎么能用PHP或Rails做到这一点?在Rails中是否有插件,或者使用PHP / memcached有一种简单的方法吗?
答案 0 :(得分:2)
正如Rémy所说,你可以使这个变得简单并且有一个数据库表来跟踪单个页面视图,虽然这会对视图产生一些写入负载,这可能是不可取的。
折衷方案可能是将每个视图的行写入中间内存表,并定期(可能通过cron作业或每N个视图)更新主表中的聚合计数。如果您的读取负载非常高,那么您可以考虑将该临时计数器存储在memcached中;你会发现,你写入磁盘支持的表的次数越少,你的计数器的容错能力就越小,尽管在一个简单的流行度计数器的情况下,这可能不是关键数据。
一旦您获得了页面查看次数,就可以进行任何您想要的统计分析。
答案 1 :(得分:0)
您可以拥有一个简单的SQL表,其中包含视频ID,日期和整数计数器,并为每个视图递增。
要从IP地址过滤多个视图,请使用包含视频ID和IP地址的表。 每24小时截断一次,并且只有在此表中尚未包含IP地址时才递增计数器。
答案 2 :(得分:0)
对于每个视图,将一些数据保存到SQL表中。
然后你可以COUNT(id)WHERE id = number AND date>上周
SELECT COUNT(id) FROM view_table WHERE id = 1 AND date > 1241136000