在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中通过ADO调用Asscess数据库和COM程序
Oct 09 PHP
PHP 数组基础知识小结
Aug 20 PHP
php购物网站支付paypal使用方法
Nov 28 PHP
PHP随机数生成代码与使用实例分析
Apr 08 PHP
phpmyadmin3 安装配置图解教程
Mar 29 PHP
分享一个PHP数据流应用的简单例子
Jun 01 PHP
修改destoon会员公司的伪静态中的com目录的方法
Aug 21 PHP
PHP扩展开发入门教程
Feb 26 PHP
PHP获取QQ达人QQ信息的方法
Mar 05 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 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
apache和PHP如何整合在一起
2015/10/12 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
2019/05/24 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
python验证身份证信息实例代码
2019/05/06 Python
对Python _取log的几种方式小结
2019/07/25 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
考博自荐信
2013/10/25 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
mysql insert 存在即不插入语法说明
2022/03/25 MySQL
PHP正则表达式之RCEService回溯
2022/04/11 PHP