【问题标题】:Should I use a text file or a database for a PHP visitor counter?我应该为 PHP 访客计数器使用文本文件还是数据库?
【发布时间】:2013-04-25 03:59:10
【问题描述】:

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

使用数据库意味着将为每个访问该网站的访问者创建一个数据库条目,老实说,我认为这不太行。

【问题讨论】:

  • 为什么db不正常?认为 mysql 无法处理几百万行?
  • 你想存储什么样的数据库条目(什么列)?最佳实践是使用 Redis 之类的 NoSQL DB。
  • 我建议 DB 满足您的需要
  • 谢谢大家!我会继续使用 DB!

标签: php visitor-statistic


【解决方案1】:

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

当文件很小时,读取文件确实更快。不过,当网站负载很重时,可能会出现race condition 效果。如果需要,很难显示链接数据。对于这种需求,有一个很好的解决方案:数据库管理系统

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

数据库建议:您可以将计数器存储在global_settings 表的一行中并在每次页面访问时更新它,或者您可以通过在visit 表中注册每次访问来获取它(附加数据,如IPDateTimeUserID 等...)和SELECT COUNT(*) from visit;

还有一个相关话题here

【讨论】:

  • 总的来说我同意你的观点,但你应该扩展你的答案。
  • 感谢您的解释!
【解决方案2】:

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

【讨论】:

  • 从文本文件加载并不是一个坏习惯。我将许多较大的数据库密集型页面缓存到纯文本中。适合工作的工具
  • 缓存是另一回事;我指的是一般意义上的数据存储。
  • 查看this
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多