亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

php Guzzle,異步請求的重要性

標簽:
PHP

近期在写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 app\open\controller;use think\Request;use think\Model;use GuzzleHttp\Client;use GuzzleHttp\Promise;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 = Promise\unwrap($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

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消