最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP swoole和redis異步任務(wù)實現(xiàn)方法分析

 更新時間:2019年08月12日 09:29:47   作者:koastal  
這篇文章主要介紹了PHP swoole和redis異步任務(wù)實現(xiàn)方法,結(jié)合具體實例形式對比分析了swoole和redis異步任務(wù)具體實現(xiàn)方法及區(qū)別,需要的朋友可以參考下

本文實例講述了PHP swoole和redis異步任務(wù)實現(xiàn)方法。分享給大家供大家參考,具體如下:

redis異步任務(wù)

interface.php

<?php
for($i=0;$i<100;$i++){
  $msg = "zhezhao[".$i."]";
  $redis = new Redis();
  $redis->connect("127.0.0.1");
  $redis->publish("test",$msg);
  $redis->close();
}

handler.php

<?php
$redis = new Redis();
$redis->connect("127.0.0.1");
$redis->subscribe(array("test"), 'handleFun');
function handleFun($redis, $chan, $data) {
  write($data);
}
function write($data){
  $path = "/tmp/mailList-redis.log";
  $str = "[".date("Y-m-d H:i:s")."]".$data;
  $str .= PHP_EOL;
  file_put_contents($path,$str,FILE_APPEND);
}

swoole異步任務(wù)

interface.php

<?php
for($i=0;$i<100;$i++){
  $msg = "zhezhao[".$i."]";
  $client = new swoole_client(SWOOLE_SOCK_TCP);
  $client->connect('127.0.0.1', 9501, 0.5);
  $client->send($msg);
  $client->close();
}

handler.php

<?php
$serv = new swoole_server("127.0.0.1", 9501);
$serv->set(array('task_worker_num' => 4));
$serv->on('receive', function($serv, $fd, $from_id, $data) {
  $task_id = $serv->task($data);
});
$serv->on('task', function ($serv, $task_id, $from_id, $data) {
  handle($data);
  $serv->finish($data);
});
$serv->start();
function handle($data){
  sleep(2);
  mailLog("Send Mail successfully to $data");
}
function mailLog($str){
  $path = "/tmp/mailList.log";
  $str = "[".date("Y-m-d H:i:s")."]".$str;
  $str .= PHP_EOL;
  file_put_contents($path,$str,FILE_APPEND);
}

比較

redis異步任務(wù)日志

這里寫圖片描述

swoole異步任務(wù)日志

這里寫圖片描述

通過對比任務(wù)日志我們可以看到,由于swoole開了4個進(jìn)程執(zhí)行異步任務(wù),所以處理異步任務(wù)的效率大概是redis的四倍,如果swoole只開一個進(jìn)程的話,效率和redis幾乎沒有什么差別。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP進(jìn)程與線程操作技巧總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

  • 小談php正則提取圖片地址

    小談php正則提取圖片地址

    最近在開發(fā)程序的時候需要獲取提取內(nèi)容中的圖片地址,這里簡單分享下方法,需要的朋友可以參考下
    2014-03-03
  • php,ajax實現(xiàn)分頁

    php,ajax實現(xiàn)分頁

    之前用php寫好了個分頁程序,今天試著結(jié)合ajax實現(xiàn)這個功能,成功了。哈哈,代碼不難寫,但寫好之后測試發(fā)現(xiàn)出了,然后又調(diào)試了好段時間才正確。深感開發(fā)人員的時間大部分都是花在調(diào)試代碼上的。
    2008-03-03
  • php 用sock技術(shù)發(fā)送郵件的函數(shù)

    php 用sock技術(shù)發(fā)送郵件的函數(shù)

    php 用sock技術(shù)發(fā)送郵件的函數(shù)...
    2007-07-07
  • PHP依賴注入容器知識點(diǎn)淺析

    PHP依賴注入容器知識點(diǎn)淺析

    在本篇文章里小編給大家分享的是一篇關(guān)于PHP依賴注入容器知識點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-01-01
  • php寫app用的框架整理

    php寫app用的框架整理

    在本篇文章里小編給大家整理的是關(guān)于php寫app用的框架的相關(guān)知識點(diǎn),有需要的朋友們學(xué)習(xí)下。
    2019-09-09
  • 深入解析php中的foreach函數(shù)

    深入解析php中的foreach函數(shù)

    以下是對php中的foreach函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • PHP對MongoDB[NoSQL]數(shù)據(jù)庫的操作

    PHP對MongoDB[NoSQL]數(shù)據(jù)庫的操作

    PHP對MongoDB[NoSQL]數(shù)據(jù)庫的操作,需要的朋友可以參考一下
    2013-03-03
  • PHP實現(xiàn)基于棧的后綴表達(dá)式求值功能

    PHP實現(xiàn)基于棧的后綴表達(dá)式求值功能

    這篇文章主要介紹了PHP實現(xiàn)基于棧的后綴表達(dá)式求值功能,簡單描述了后綴表達(dá)式的概念并結(jié)合實例形式分析了php使用棧實現(xiàn)后綴表達(dá)式求值的相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • php socket通信(tcp/udp)實例分析

    php socket通信(tcp/udp)實例分析

    這篇文章主要介紹了php socket通信(tcp/udp)方法,結(jié)合實例形式分析了基于socket實現(xiàn)tcp與udp通信的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • 教大家制作簡單的php日歷

    教大家制作簡單的php日歷

    教大家制作簡單的php日歷,一個專屬于自己的php日歷,喜歡的朋友不要錯過,動手制作自己的日歷。
    2015-11-11

最新評論

乐陵市| 凤凰县| 铅山县| 开江县| 灵石县| 伊川县| 和田县| 古浪县| 潜山县| 神木县| 社旗县| 永修县| 余姚市| 永宁县| 磴口县| 新疆| 许昌市| 安吉县| 弥渡县| 江源县| 布尔津县| 福泉市| 崇明县| 射洪县| 信宜市| 新昌县| 布尔津县| 柳河县| 拜泉县| 含山县| 左贡县| 鄂州市| 中超| 微山县| 金昌市| 彩票| 高阳县| 石棉县| 江华| 柯坪县| 饶河县|