在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 相关文章推荐
PHP4.04简明安装
Oct 09 PHP
php URL编码解码函数代码
Mar 10 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
PHP+Ajax+JS实现多图上传
May 07 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
Oct 08 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
Jan 23 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
mysql总结之explain
2012/02/27 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
javascript prototype原型操作笔记
2009/12/07 Javascript
jQuery的三种$()
2009/12/30 Javascript
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
Python中Random和Math模块学习笔记
2015/05/18 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
python内存管理机制原理详解
2019/08/12 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
广告学专业毕业生自荐信
2013/09/24 职场文书
土木工程求职信
2014/05/29 职场文书
学生个人评语大全
2015/01/04 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android
Nginx反向代理学习实例教程
2021/10/24 Servers
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS
zabbix配置nginx监控的实现
2022/05/25 Servers