当前位置:首页 > CMS教程 > 其它CMS > 列表

在Laravel5.6中使用Swoole的协程数据库查询

发布:smiling 来源: PHP粉丝网  添加日期:2021-10-01 16:35:50 浏览: 评论:0 

这篇文章主要介绍了在Laravel5.6中使用Swoole的协程数据库查询,详细的介绍了什么是Swoole,以及Laravel5.6中使用Swoole,非常具有实用价值,需要的朋友可以参考下。

什么是Swoole

直接套用Swoole官网的介绍:PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。

Swoole官网的文档不够丰富啊,这比较头疼,但大部分的问题都解释了。如果你对Swoole很感兴趣,那么看看这个Swoole入门教程。Swoole提供了多线程、长连接等很多牛逼的功能,把php上升到了一个新的台阶,具体的你可以看看入门教程,本文只限于讨论Laravel和Swoole的结合。

Swoole为了提供服务,必须以CLI模式运行,什么是CLI模式呢?如果你Swoole业务代码是写在一个叫server.php的文件中,那么在命令行下输入php server.php开启。这是比较头疼的事情,因为Laravel框架可不是这样的运转的,那如何能与Laravel结合呢?没错,自定义一条Artisan Command,就这么简单。

强烈推荐在你的laravel项目中,使用 laravel-s 这个包.

composer require "hhxsv5/laravel-s:~1.0" -vvv

然后,依赖 kuaiapp/db 这个包,作用是实现 Swoole\Coroutine\MySQL 的伪 PDO 接口

composer require "kuaiapp/db" -vvv

给 vendor/laravel/framework 打patch

  1. cd .//vendor/laravel/framework 
  2. wget https://gist.githubusercontent.com/xiaohuilam/81ae50c1bc06180bd8e6fcbdaadba86a/raw/529cb96ca9abeed7a35076725b3b5cd8a1e04ff7/git.patch 
  3. git am < git.patch 

启动laravel-s

php artisan laravels start

现在你就可以测试你的数据库查询了。

Tags: Laravel5 6 Swoole

分享到: