在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中使用与Perl兼容的正则表达式
Nov 26 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 PHP
fetchAll()与mysql_fetch_array()的区别详解
Jun 05 PHP
php cli换行示例
Apr 22 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
thinkphp分页实现效果
Oct 13 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
分析php://output和php://stdout的区别
May 06 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
Dec 18 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
drupal 代码实现URL重写
2011/05/04 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Python threading多线程编程实例
2014/09/18 Python
Python的Bottle框架中获取制定cookie的教程
2015/04/24 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
Python内置函数property()如何使用
2020/09/01 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
班主任个人工作反思
2014/04/28 职场文书
安全横幅标语
2014/06/09 职场文书
2015年五四青年节演讲稿
2015/03/18 职场文书
电工实训心得体会
2016/01/14 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书