Php Twitter搜索API速率限制Zend

Php Twitter搜索API速率限制Zend,php,zend-framework,twitter,twitter-search,Php,Zend Framework,Twitter,Twitter Search,我们正在尝试创建一个应用程序,允许用户显示20支足球队的最新推特新闻。我们正在使用Zend_Service_Twitter_搜索和足球队查询,例如“阿森纳” 我们遇到的问题是,在任何一点上,网站都可能接受查看所有20支球队新闻的请求,因此20次对API的调用如果许多用户都这样做,那么每小时的限制将被打破 我们想要所有20支球队的最新消息,所以我们不想缓存数据超过1分钟。有人对此有什么建议吗?我已经阅读了文档,但没有任何建议 干杯 在我看来,这更像是一个后端设计问题。您要处理的问题包括: 为任何规

我们正在尝试创建一个应用程序,允许用户显示20支足球队的最新推特新闻。我们正在使用Zend_Service_Twitter_搜索和足球队查询,例如“阿森纳”

我们遇到的问题是,在任何一点上,网站都可能接受查看所有20支球队新闻的请求,因此20次对API的调用如果许多用户都这样做,那么每小时的限制将被打破

我们想要所有20支球队的最新消息,所以我们不想缓存数据超过1分钟。有人对此有什么建议吗?我已经阅读了文档,但没有任何建议

干杯


在我看来,这更像是一个后端设计问题。您要处理的问题包括:

  • 为任何规模的用户提供当前数据
  • 不超过未发布的api限制
  • 似乎解决方案是某种数据库/数据存储来持久化数据。
    您可以让每分钟20次api调用来存储信息,然后让用户随时可以使用这些信息。


    在简要查看了twitterapi文档之后,看起来在存储数据方面没有任何限制。尽管您可能想重新考虑一下使用搜索API的频率,因为“未发布”中的限制。

    我最近实现了类似的功能。简单的答案是计算出你需要做多少查询。假设每队1人,每次20人。将60秒(速率限制的时间段)除以(速率限制/查询数),然后简单地将结果缓存在memcache之类的东西中,以达到该秒数。然后,当用户访问该站点时,如果结果在memcache中,则从memcache中提取结果,否则将其刷新。Memcache非常棒,因为它可以自动清除过期的数据,这样您就不会超过速率限制,并且将始终拥有最新的数据(而不会打破速率限制)

    因此,如果速率限制为每分钟200次(我知道不是,但这使数学计算变得简单),那么您可以将结果缓存60/(200/20)=6秒。因此,在最大速率下,您将在一分钟内为20个团队中的每个团队进行10次查询,因此每分钟进行200次查询,这大大超出了速率限制