在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
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
PHP has encountered an Access Violation
Jan 15 PHP
那些年一起学习的PHP(二)
Mar 21 PHP
基于PHP一些十分严重的缺陷详解
Jun 03 PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
php include和require的区别深入解析
Jun 17 PHP
php字符串分割函数用法实例
Mar 17 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 PHP
laravel框架与其他框架的详细对比
Oct 23 PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 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脚本的10个技巧(4)
2006/10/09 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
jquery 问答知识整理
2010/02/11 Javascript
jquery json 实例代码
2010/12/02 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
jQuery参数列表集合
2011/04/06 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
JS+DIV+CSS实现仿表单下拉列表效果
2015/08/18 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
将RGB值转换为灰度值的简单算法
2019/10/09 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
linux下安装easy_install的方法
2013/02/10 Python
python读取二进制mnist实例详解
2017/05/31 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
python读取xlsx的方法
2018/12/25 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
美国杂志订阅折扣与优惠网站:Magazines.com
2016/08/31 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
高中毕业生生活的自我评价
2013/12/08 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
python turtle绘图命令及案例
2021/11/23 Python