Php 点击计数器-我需要一张专用的桌子吗?

Php 点击计数器-我需要一张专用的桌子吗?,php,hitcounter,Php,Hitcounter,我一直在阅读关于我可以采取的各种方法来实现计数器。我最喜欢的一个是为特定用户设置会话/cookie标志,以指示他/她是否访问了特定页面。如果没有设置标志,我会设置它并将页面的点击次数增加1 我知道上面的方法很好,但我也知道它总是有解决办法的。但是,如果我使用一个专用表,该表在pageid和ip地址的组合上具有唯一的约束,那么它在与会话标志组合使用时应该能最有效地工作。但是考虑到我正在工作的站点每天大约有20000次点击(这并不多,但足以淹没我的点击表),仅仅为了捕获点击就用ip地址淹没MySQL

我一直在阅读关于我可以采取的各种方法来实现计数器。我最喜欢的一个是为特定用户设置会话/cookie标志,以指示他/她是否访问了特定页面。如果没有设置标志,我会设置它并将页面的点击次数增加1

我知道上面的方法很好,但我也知道它总是有解决办法的。但是,如果我使用一个专用表,该表在pageid和ip地址的组合上具有唯一的约束,那么它在与会话标志组合使用时应该能最有效地工作。但是考虑到我正在工作的站点每天大约有20000次点击(这并不多,但足以淹没我的点击表),仅仅为了捕获点击就用ip地址淹没MySQL值得吗


还有,除了这些之外,还有没有更好的方法来捕获合法点击率呢?

我认为为这项工作专门设置一个表格实在是太多了。 只有在真正需要的时候才去做。否则就是浪费时间和资源。
现有表中递增的字段,以及最终用于在刷新时禁用递增的cookie都很好。

只有两种计算命中数的方法:cookie和IP。可以擦除cookies,这样您就可以用这种方式玩系统了。IP可以由许多用户共享(例如,像AOL这样的大规模NAT网关)。一种是让计数人为膨胀。另一个隐藏多个有效点击。web上的命中计数器充其量只是一个近似值,并且通常是完全无用的。Sagreed,那么我将采用会话/cookie路线。如果我在服务器端保留会话数据集,至少他们不能让页面充满点击。感谢您的回复。您还可以实现服务器端会话,并在查询MySQL之前检查这些方式,看看他们是否访问过。例如,如果(!isset($\u SESSION['counter']['pageID']),那么执行类似的操作不会有什么问题。。然后通过MySQL查询访问的具体日期和页面。如果它不存在,则继续插入它并设置会话。会话通过cookie实现。擦除cookies意味着“擦除”会话。该会话仍将存在于服务器上,但该会话与启动该会话的用户之间的链接将被删除severed@MarcB:有道理,我想客户端的cookies中存储了某种会话ID?但是我想,考虑到专用表的性能缺点,这个风险是值得冒的。我想我会选择会话/cookie路线。谢谢你的回答!