【问题标题】:PHP - Best practice for storing page view in databasePHP - 在数据库中存储页面视图的最佳实践
【发布时间】:2013-01-15 08:44:03
【问题描述】:

我可以知道将页面视图存储在数据库中的最佳做法是什么吗?

每次加载页面时更新浏览量值是否昂贵?

在更新网页浏览时是否存在任何可能的错误/威胁,同时其他人正在修改同一行的数据?

例如

表格 - 项目 ID 姓名 描述 页面浏览量

我知道这可能不是一个很大的问题,它可以应用于其他一些经常更新的数据,想知道什么是最好的方法。 我想到的可能场景是,如果有很多页面同时运行。会有性能问题吗?

请原谅我的英语,非常感谢。

【问题讨论】:

  • Google Analytics 不适合您吗?
  • @TomFielder,我需要在加载时在每个页面上显示页面浏览量。我不确定 Google Analytics 是否可以做到这一点。
  • 您可能可以使用 Google Analytics API 来实现 - 但它不是您想要做的事情的理想解决方案 :)

标签: php mysql view counter increment


【解决方案1】:

最好的方法是为每个视图在表中写入一个新行,而不是保持滚动计数,这可能会导致大型系统出现锁定问题。为了提高性能,您可以使用 INSERT DELAYED 语法添加行。这将允许数据库句柄立即返回,并且您的脚本不会等待插入完成。此处的文档:-

http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html

也许还值得一看专门针对此类日志记录的存档存储引擎。您只能INSERT 和SELECT 数据,但性能旨在快速写入。

http://dev.mysql.com/doc/refman/5.1/en/archive-storage-engine.html

要查看浏览量信息,您只需查询任何给定页面的行数。这种方法的一个主要优点是,通过在每次页面查看时记录时间戳,您可以按一天中的时间、一周中的几天等分析数据,并查看您的流量是什么形状。

【讨论】:

  • 感谢@Purpletoucan 的回答,不胜感激。将阅读它们,看看它们是否符合我的需要。
猜你喜欢
  • 2021-01-09
  • 2023-03-18
  • 1970-01-01
  • 2011-01-25
  • 2011-03-23
  • 2011-03-31
  • 2018-07-27
  • 2012-04-28
  • 2011-02-14
相关资源
最近更新 更多