在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 相关文章推荐
C# Assembly类访问程序集信息
Jun 13 PHP
基于PHP常用函数的用法详解
May 10 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
Sep 25 PHP
详解PHP设计模式之依赖注入模式
May 25 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异步执行的常用方式详解
2013/06/03 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
JavaScript入门教程之引用类型
2016/05/04 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Python扩展内置类型详解
2018/03/26 Python
python 实现倒排索引的方法
2018/12/25 Python
详解python中__name__的意义以及作用
2019/08/07 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
python raise的基本使用
2020/09/10 Python
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
怎么处理XML的中文问题
2015/03/26 面试题
Sony C++笔试题
2013/03/10 面试题
.net软件工程师面试题
2015/03/31 面试题
园艺专业毕业生求职信
2014/09/02 职场文书
汽车销售员岗位职责
2015/04/11 职场文书