【问题标题】:What is the most efficient way of caching information pulled from an API?缓存从 API 中提取的信息的最有效方法是什么?
【发布时间】:2011-10-15 20:52:36
【问题描述】:

我正在讨论如何组织从 Facebook 的 Open Graph API 中提取信息的数据库。我希望收集特定页面的信息,例如:

  1. 专辑
  2. 相册中的所有照片
  3. 相册中所有照片的所有 cmets/likes/names

将所有这些信息包含在一个表或多个表(即相册表、照片表、评论表等)中对我来说是否更有效?如果重要的话,我将使用 MySQL 数据库并通过 PHP 访问和读取它们。

【问题讨论】:

  • 在什么方面更有效率?尺寸?阅读速度?写入速度?在给出关于“如何”的好答案之前,您需要决定要优化什么。
  • 为了准确回答这个问题,需要知道您打算进行哪些查询。
  • @George Cummins:在阅读速度方面。我并不担心写入数据库需要多长时间,而我担心读取和显示信息需要多长时间。
  • @erisco:在写作中,我将只通过开放图进行 Facebook api 调用,然后对数据库中的相应值进行 SQL UPDATE。就阅读而言,我只会使用 SQL SELECT。我还在这里含糊不清吗?

标签: php mysql sql facebook-graph-api twitter


【解决方案1】:

您绝对不可能在一个表中获取所有这些信息并能够有效地查询它。设计一个关系数据库来存储所有这些信息。

【讨论】:

    【解决方案2】:

    SBerg 所说的然后,为了使读取(选择)真正快速,您可能还需要考虑为您的前端 UI 创建数据库的维度模型(启动模式或类似的) - 更多信息在 http://en.wikipedia.org/wiki/Data_warehouse .

    关系型数据库存储非常适合写入数据,而 DM 模型则适合读取数据。我们将这种方法用于我们的 FB 房地产应用程序,我们正在处理数百万条房产记录和数以亿计的房产照片。

    此外,您绝对应该在云托管环境中托管您的 MySQL 数据库,这一点毫无疑问!

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 2010-09-25
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      • 2014-02-16
      • 2011-05-24
      相关资源
      最近更新 更多