Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AJAX长轮询PHP应用程序中的REST API/Memcached_Php_Jquery_Ajax_Rest_Long Polling - Fatal编程技术网

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

AJAX长轮询PHP应用程序中的REST API/Memcached,php,jquery,ajax,rest,long-polling,Php,Jquery,Ajax,Rest,Long Polling,不,我不是想看看我能在一个问题标题中加入多少流行语 我正在通过PHP应用程序中的cURL向一些Web服务发出REST请求。由于大部分应用程序都依赖于此API,因此需要经常发出这些请求。然而,请求有2-5秒的严重延迟,这让我的应用程序看起来慢得令人痛苦 虽然我建议在Memcached中缓存这些请求,但我对应用程序中出现的这种延迟仍然不满意 我的想法是:我可以在后台实现AJAX长轮询,这样用户就不会直接体验延迟。REST请求/Memcache查找将以设定的时间间隔通过AJAX完成 但这对我来说真的很

不,我不是想看看我能在一个问题标题中加入多少流行语

我正在通过PHP应用程序中的cURL向一些Web服务发出REST请求。由于大部分应用程序都依赖于此API,因此需要经常发出这些请求。然而,请求有2-5秒的严重延迟,这让我的应用程序看起来慢得令人痛苦

虽然我建议在Memcached中缓存这些请求,但我对应用程序中出现的这种延迟仍然不满意

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

但这对我来说真的很新鲜,我不确定这是否是最好的方法。如果我在正确的轨道上,我知道PHP+Apache不能很好地处理这样的事情。但是PHP是我所知道的唯一语言。理想情况下,我想在Python中设置类似Tornado的东西,但我只是不确定我现在是否已经过度工程化了


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

这是一个非常快速的转变,但我通过在相关过程中回显微时间来回顾和分析我的应用程序。事实证明,我并没有并行化我的cURL请求,这才是真正的成功之处。这样做大约需要2秒钟,这意味着在连续完成每个cURL请求时会有很长的延迟。

REST请求和web服务之间的距离是多少?换句话说,延迟是由网络或简单的rest请求引起的,只是速度慢而已。如果你考虑缓存请求为REST请求预热?@ AjRead,什么是缓存预热?预热是预加载一组数据,以便MeMcache中填充有来自REST的有效数据。这意味着,您可以运行后台作业来预取这些REST URL,而不是让应用程序确定哪个REST URL。您可以使用数据库或文件来跟踪应用程序中执行的REST URL。在这种情况下,考虑使用CurLyMuleExcel - @ AjRealm来感谢您的建议。这确实是我最终使用的。