欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

本文實(shí)例講述了PHP swoole和redis異步任務(wù)實(shí)現(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ù)日志

這里寫圖片描述

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

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

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

相關(guān)文章

最新評(píng)論