Twitter请求 - 正确的方式

时间:2011-12-21 02:56:58

标签: php twitter

我目前正在为每个页面加载请求一个Twitter提要(我知道这是错误的),如下所示:

json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline/{$username}.{$format}")); 

即使流量最小,Twitter也不久就停止向我发送请求。因此,在为我的客户启动网站后 - 我看到永远不可用的推特。

我想象这个工作的方式是检查Feed - 将其存储在带有时间戳的表中,并选择间隔 - (例如10分钟)。在每个页面加载上,检查时间戳,如果间隔未通过,则从表中提取源,而不是推送。

我知道这会奏效,但鉴于我的最后一个错误是如此愚蠢,我想确保没有其他更好的做法。

这次我是否正确?

2 个答案:

答案 0 :(得分:4)

听起来完全正确。三个注意事项:

  1. 将日期/时间放在一列中,然后将要在另一列中显示的Twitter Feed,然后您只需在该行上进行一次选择即可完成。

  2. 将呈现的HTML存储在数据库中,而不是从Twitter返回的JSON。然后,您每隔十分钟才进行一次转换,而不是每次页面请求。

  3. 在数据库中进行时间比较或者在服务器上进行全部时间比较,不要混淆两者 - 我遇到了服务器时间同步问题,这让我感到非常头疼。也就是说,不要使用“INSERT ... CURTIME()...”调用,然后将其与PHP生成的日期进行比较。我的建议是生成一个PHP日期和存储,因为SQL中的时间比较可能很棘手。

答案 1 :(得分:1)

缓存不太可能发生变化的I / O数据总是很聪明。最佳方式取决于您获得的流量以及您当前需要的数据。