PHP swoole和redis异步任务实现技巧分析
发布时间:2022-06-30 14:23:08 所属栏目:PHP教程 来源:互联网
导读:本文实例讲述了PHP swoole和redis异步任务实现方法,分享给大家供大家参考,具体如下: redis异步任务 interface.php ?php for($i=0;$i100;$i++){ ?php $redis = new Redis(); $redis-connect(127.0.0.1); $redis-subscribe(array(test), handleFun); functi
本文实例讲述了PHP swoole和redis异步任务实现方法,分享给大家供大家参考,具体如下: redis异步任务 interface.php <?php for($i=0;$i<100;$i++){ <?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异步任务 interface.php <?php for($i=0;$i<100;$i++){ $msg = "zhezhao[".$i."]"; 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); redis异步任务日志 swoole redis php异步任务 swoole异步任务日志 swoole redis php异步任务 通过对比任务日志我们可以看到,由于swoole开了4个进程执行异步任务,所以处理异步任务的效率大概是redis的四倍,如果swoole只开一个进程的话,效率和redis几乎没有什么差别。 (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |