AJAX在PHP应用程序中长轮询REST API / Memcached

时间:2010-11-22 04:35:09

标签: php jquery ajax rest long-polling

不,我不是想看看有多少流行语可以投入一个问题标题。

我正在通过我的PHP应用程序中的cURL向一些web服务发出REST请求。这些请求需要经常进行,因为大部分应用程序都依赖于此API。但是,请求(2-5秒)存在严重的延迟,这使我的应用看起来非常缓慢。

虽然我已经推荐了一个解决方案,建议在Memcached中缓存这些请求,但我仍然不满意应用程序中出现的那种延迟。

所以这是我的想法:我可以在后台实现AJAX长轮询,以便用户永远不会直接体验延迟。 REST请求/ Memcache查找将通过AJAX以设定的间隔完成。

但这对我来说真的很新,我不确定这是不是最好的方法。如果我走在正确的轨道上,我知道PHP + Apache不会像这样处理好这样的事情。但PHP是我所知道的唯一语言。我想在Python中设置像Tornado这样的东西,但我不确定我现在是否过度工程。

这里的任何想法都会有所帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

这是一个非常快速的转变,但我回过头来通过在整个相关流程中回显microtime()来描述我的应用。事实证明,我没有并行化我的cURL请求,这就是我接受真正命中的地方。这需要大约2秒钟,这意味着每个cURL请求连续完成时会有很长的延迟。