在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
现在你就可以测试你的数据库查询了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。