在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 相关文章推荐
用session做客户验证时的注意事项
Oct 09 PHP
PHP中替换换行符的几种方法小结
Oct 15 PHP
php 强制下载文件实现代码
Oct 28 PHP
PHP数据库链接类(PDO+Access)实例分享
Dec 05 PHP
php生成随机密码自定义函数代码(简单快速)
May 10 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
ThinkPHP实现简单登陆功能
Apr 28 PHP
php之可变函数的实例详解
Sep 13 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
PHP中关于php.ini参数优化详解
Feb 28 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解析xml方法实例详解
2015/05/12 PHP
php中的登陆login实例代码
2016/06/20 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
Javascript - HTML的request类
2007/01/09 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
python如何调用java类
2020/07/05 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
德国拖鞋网站:German Slippers
2019/11/08 全球购物
后备干部考察材料
2014/02/12 职场文书
英语国培研修感言
2014/02/13 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
考研英语辞职信
2015/05/13 职场文书
python基础之while循环语句的使用
2021/04/20 Python
在redisCluster中模糊获取key方式
2021/07/09 Redis
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL