我们正在尝试创建一个应用程序,允许用户在20个足球队上显示最新的推特新闻。我们正在使用Zend_Service_Twitter_Search和足球队的查询,例如“兵工厂”。
我们遇到的问题是,在任何一点上,网站可能会收到要求查看所有20个团队新闻的请求,因此如果许多用户正在执行此操作,则会调用20个API,然后将达到每小时限制。
我们希望所有20个团队获得最新消息,因此我们不希望将数据缓存超过1分钟。有没有人对此有一些建议我已通过文件但没有建议。
干杯
Ĵ
答案 0 :(得分:0)
在我看来,这更像是一个后端设计问题。您想要处理的问题是:
似乎该解决方案是一种数据库/数据存储,可以保存数据。
您可以每分钟拨打20个api电话存储信息,然后只要您愿意就可以将其提供给用户。< BR />
简要介绍一下Twitter API文档后,看起来对存储数据没有任何限制。虽然您可能想重新考虑使用搜索API的频率,但未公布限制。
答案 1 :(得分:0)
我最近实施了类似的东西。简单的答案是确定需要进行多少查询。让我们为每个团队说1个,这样一次20个。将60秒(速率限制的周期)除以(速率限制/查询数量)并简单地将结果缓存在memcache之类的秒数内。然后,当用户访问该站点时,如果他们在那里,则从memcache中提取结果,否则将其重新获得。 Memcache非常棒,因为它可以自动清除过期的数据,因此您不会超过速率限制,并且始终可以获得最新的数据(不会超出您的速率限制)。
因此,如果速率限制是每分钟200(我知道它不是,但它使数学容易),你将结果缓存60 /(200/20)= 6秒。因此,以最高费率,您将在一分钟内为20支球队中的每支球队进行10次查询,因此每分钟有200次查询,这与速率限制相吻合。