在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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
Feb 16 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
Dec 29 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
简单实现php上传文件功能
Sep 21 PHP
利用PHP获取汉字首字母并且分组排序详解
Oct 22 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
在Laravel中实现使用AJAX动态刷新部分页面
Oct 15 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
德生BCL3000的电路分析和打磨
2021/03/02 无线电
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
js计数器代码
2006/11/04 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
python中的编码知识整理汇总
2016/01/26 Python
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python 查看文件的编码格式方法
2017/12/21 Python
详解Python中is和==的区别
2019/03/21 Python
python面试题之列表声明实例分析
2019/07/08 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
物业管理委托协议(2篇)
2014/09/23 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
优秀教师申报材料
2014/12/16 职场文书
高三数学教学反思
2016/02/18 职场文书
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python