我目前正在尝试通过远程API优化数据获取的速度。
我是这样使用它的:
$response = wp_remote_get(\'https://some-api.com/endpoint\');
$response_body = wp_remote_retrieve_body($response);
$data = json_decode($response_body, true);
它返回一个数据数组,我正在遍历该数组并将其保存到适当的变量中,稍后使用这些变量将数据插入到希望插入的位置。
所有这些都是通过AJAX完成的,因此数据是动态插入的。
整个过程大约需要400-600毫秒。但是,如果我试图通过在浏览器的URL栏中粘贴api URL来直接访问api端点,只需要大约50毫秒。是否json_decode
&;保存变量帐户并将其输出到其他400-500ms?是否有其他方法可以将加载时间的影响降至最低?
最合适的回答,由SO网友:Ihor Vorotnov 整理而成
获取远程API数据最有效的方法是not fetching it at all. 因此,使用Transients API 或WP Object Cache 保存计算结果以备将来使用,并避免在每次后续请求时调用外部API(以及进一步的计算)。此外,这些数据的获取、失效和重新生成可以在后台完成,但这是一种更先进的技术,在很大程度上取决于您当前的体系结构和特定的用例。
50ms与500ms的差异来自:
连接到您自己的ajax端点加载和执行WordPress引擎的一部分,将请求发送到外部API端点,并返回响应(大约50毫秒)
解析响应您的自定义计算逻辑大部分时间都花在前3个步骤上,而不是最后2个步骤上。您可以分析代码以查看全貌。