在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 正确解码javascript中通过escape编码后的字符
Jan 28 PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
php数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
PHP中把对象数组转换成普通数组的方法
Jul 10 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
Feb 22 PHP
PHP如何实现跨域
May 30 PHP
php+ajax注册实时验证功能
Jul 20 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
一个基于PDO的数据库操作类
2011/03/24 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
Underscore源码分析
2015/12/30 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python性能优化的20条建议
2014/10/25 Python
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
杭州信雅达系统.NET工程师面试试题
2015/02/08 面试题
出国留学计划书
2014/04/27 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers