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


Posted in PHP onJune 15, 2018

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

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

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

PHP 相关文章推荐
用PHP制作静态网站的模板框架(一)
Oct 09 PHP
PHP实现网上点歌(二)
Oct 09 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
PHP执行批量mysql语句的解决方法
May 02 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
php绘制一条直线的方法
Jan 24 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
Mar 14 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
laravel通过a标签从视图向控制器实现传值
Oct 15 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 #PHP
基于swoole实现多人聊天室
Jun 14 #PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 #PHP
php实现微信公众平台发红包功能
Jun 14 #PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 #PHP
thinkPHP框架实现多表查询的方法
Jun 14 #PHP
php微信开发之关注事件
Jun 14 #PHP
You might like
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
windows8.1下Apache+Php+MySQL配置步骤
2015/10/30 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
Python编写一个优美的下载器
2018/04/15 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
会计岗位职责
2013/11/08 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
年度考核自我评价
2014/01/25 职场文书
优秀员工评语
2014/02/10 职场文书
小学生作文评语
2014/04/18 职场文书
公司担保书格式范文
2014/05/12 职场文书
公司新员工欢迎词
2015/09/30 职场文书
志愿服务心得体会
2016/01/15 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
go语言中fallthrough的用法说明
2021/05/06 Golang
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript