应该使用文本文件还是数据库作为PHP访问者计数器?


Should I use a text file or a database for a PHP visitor counter?

我需要为我的网站创建一个访问者计数器,我想知道是否最好从位于我的主机或直接从数据库的某个地方的txt文件中存储和读取信息。

使用数据库意味着将为每个访问站点的访问者创建一个DB条目,老实说,我不认为这是可以的。

文件计数器-当只是计数。数据库计数器-访问时跟踪,依赖,分析,聚合。

读取文件真的更快,当文件很小。但是,当站点负载过重时,可能会出现竞争条件效应。如果需要的话,很难显示关联数据。对于这个需求,有一个很好的解决方案:数据库管理系统

数据库(具有良好的设计)允许避免竞争条件。对于大量的链接数据结构,它也是一个更好的解决方案。当你需要记录访问、推荐人等信息时,它会更好。

DB建议:您可以将计数器存储在global_settings表的一行中,并在每次页面访问中更新它,或者您可以通过在visit表中注册每次访问来获得它(带有额外的数据,如IP, DateTime, UserID等)与SELECT COUNT(*) from visit;

这里还有一个相关的主题

从文本文件中加载任何东西都是非常糟糕的做法。使用数据库是更好的解决方案。数据库用于存储大量数据,因此它是完全可以接受的。