使用 PHP(Twitter Streaming API)收集和处理数据


Collecting and Processing data with PHP (Twitter Streaming API)

在阅读了所有Twitter流媒体API和Phirehose PHP文档后,我遇到了一些我尚未做的事情,分别收集和处理数据。

如果我理解正确的话,它背后的逻辑是防止在处理阶段出现日志堵塞,这将备份收集过程。我以前看过一些例子,但它们基本上在收集后立即写入MySQL数据库,这似乎违背了Twitter建议你做的事情。

我想要一些建议/帮助的是,处理这个问题的最佳方法是什么以及如何处理。似乎人们建议将所有数据直接写入文本文件,然后使用单独的函数对其进行解析/处理。但是使用这种方法,我认为它可能是一个记忆猪。

这是一个问题,它都将作为守护程序/后台进程运行。那么有没有人有解决这样的问题的经验,或者更具体地说,是推特密码库?谢谢!

一些注意事项:*连接将通过套接字进行,所以我的猜测是文件会不断附加?不确定是否有人对此有任何反馈

phirehose 库附带了一个如何执行此操作的示例。看:

  • 收藏: https://github.com/fennb/phirehose/blob/master/example/ghetto-queue-collect.php
  • 消耗:https://github.com/fennb/phirehose/blob/master/example/ghetto-queue-consume.php

这使用平面文件,该文件具有很强的可扩展性和快速性,即:您的平均硬盘可以以 40MB/s+ 的速度顺序写入并线性扩展(即:与数据库不同,它不会随着变大而变慢)。

不需要任何数据库功能来消费流(即:你只需要下一条推文,不涉及"查询")。

如果您经常旋转文件,您将获得近乎实时的性能(如果需要)。