欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-14 12:02:33
什么是swoole 直接套用swoole官网的介绍:php的异步、并行、高性能网络通信引擎,使用纯c语言编写,提供了php语言的异步多线程服务器,异步tcp/udp网...

什么是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

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

启动laravel-s

php artisan laravels start

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。