栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php Guzzle,异步请求的重要性

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php Guzzle,异步请求的重要性

近期在写php接口开发,一个php文件里需要请求多个第三方接口,就在测试的时候打印耗时居然达到了1000ms!(一共需要请求四个第三方接口);
也在群友推荐接触到了guzzle类;能实现多个请求异步进行(好像是伪异步,懒得深究);
我用tp5写了个测试,guzzle和file_get_contents各请求四次,并且打印耗时,结果很明显
guzzle手册:http://guzzle-cn.readthedocs.io/zh_CN/latest/overview.html

多次测试结果
guz:300ms----fgc:845ms
guz:265ms----fgc:743ms
guz:277ms----fgc:789ms
guz:272ms----fgc:690ms
namespace appopencontroller;use thinkRequest;use thinkModel;use GuzzleHttpClient;use GuzzleHttpPromise;class Index{    public function index(){list($msec, $sec) = explode(' ', microtime());
$time=(float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
    $client = new Client(['base_uri' => 'http://httpbin.org/']);// Initiate each request but do not block$promises = [    'image' => $client->getAsync('http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?appKey=12574478&api=mtop.taobao.detail.getdetail&v=6.0&type=json&data=%7B%22itemNumId%22%3A%22568914501203%22%7D'),    'png'   => $client->getAsync('http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?appKey=12574478&api=mtop.taobao.detail.getdetail&v=6.0&type=json&data=%7B%22itemNumId%22%3A%22568914501203%22%7D'),    'jpeg'  => $client->getAsync('http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?appKey=12574478&api=mtop.taobao.detail.getdetail&v=6.0&type=json&data=%7B%22itemNumId%22%3A%22568914501203%22%7D'),    'webp'  => $client->getAsync('http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?appKey=12574478&api=mtop.taobao.detail.getdetail&v=6.0&type=json&data=%7B%22itemNumId%22%3A%22568914501203%22%7D')
];

$results = Promiseunwrap($promises);list($msec, $sec) = explode(' ', microtime());
$time2=(float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);


$client=file_get_contents('http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?appKey=12574478&api=mtop.taobao.detail.getdetail&v=6.0&type=json&data=%7B%22itemNumId%22%3A%22568914501203%22%7D');
$client=file_get_contents('http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?appKey=12574478&api=mtop.taobao.detail.getdetail&v=6.0&type=json&data=%7B%22itemNumId%22%3A%22568914501203%22%7D');
$client=file_get_contents('http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?appKey=12574478&api=mtop.taobao.detail.getdetail&v=6.0&type=json&data=%7B%22itemNumId%22%3A%22568914501203%22%7D');
$client=file_get_contents('http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/?appKey=12574478&api=mtop.taobao.detail.getdetail&v=6.0&type=json&data=%7B%22itemNumId%22%3A%22568914501203%22%7D');list($msec, $sec) = explode(' ', microtime());
$time3=(float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);echo 'guz:';echo $time2-$time;echo 'ms';echo '----';echo 'fgc:';echo $time3-$time2;echo 'ms';
    }
}?>````



作者:阿哇哥哥
链接:https://www.jianshu.com/p/116711c741eb

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号