在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 strtotime函数详解
Dec 18 PHP
php中几种常见安全设置详解
Apr 06 PHP
php中的三元运算符使用说明
Jul 03 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
PHP实现的连贯操作、链式操作实例
Jul 08 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
PHP中overload与override的区别
Feb 13 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
PHP addslashes()函数讲解
Feb 03 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
php跨服务器访问方法小结
2015/05/12 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
js中匿名函数的N种写法
2010/09/08 Javascript
jcrop基本参数一览
2013/07/16 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
Python常用正则表达式符号浅析
2014/08/13 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
python实现二维数组的对角线遍历
2019/03/02 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
入党积极分子思想汇报范文
2014/01/05 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python
Python 匹配文本并在其上一行追加文本
2022/05/11 Python
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers