Swoole 的异步 Task 任务详解

2022-09-29
阅读 1 分钟
1.2k
如果一些耗时的操作要在服务器端程序中执行 (例如,在 Web 服务器中发送电子邮件和短消息等。),如果直接按顺序执行这些操作,程序会阻塞当前进程,导致服务器响应缓慢。通常的做法是使用异步脚本或消息队列来完成这些操作。如何通过 Swoole 实现异步任务处理?

基于 Swoole 搭建 WebSocket 服务详解

2022-09-26
阅读 2 分钟
1.7k
本节将会详解以下 4 个问题:什么是 swoole?什么是 Websocket?如何基于 Swoole 构建 WebSocket 服务?基于 Swoole 的 WebSocket 服务和 Http 服务是什么关系?一、 Swoole 简介Swoole 是一个面向生产环境的 PHP 异步网络通信引擎,使 PHP 开发人员能够编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP 和 WebSocket ...

Swoole 进程模型分析

2022-09-21
阅读 2 分钟
1.4k
在这边文章中我们将介绍以下内容:1、Swoole Server 的运行模式2、Swoole 进程模型分析上图是 Swoole 官网提供的各个进程相互关系图,可以说理解了这张图,你就理解了 Swoole 的进程模型。1、Swoole Server 的运行模式Swoole 服务常见的运行模式有单线程模式和进程模式两种,两种方式介绍如下:单线程模式 (SWOOLE_BASE)...

每个程序员都应该知道的 Swoole 知识 - 定时器

2022-09-05
阅读 2 分钟
1.1k
本节将讲述如下三个问题:PHP 本身的定时器介绍 Swoole 中定时器的使用方法 Swoole 定时器的底层原理1、PHP 本身的定时器介绍先说说原生 PHP 如何实现定时器,PHP 的定时器是通过 pcntl_alarm 实现的:pcntl_alarm ( int $seconds ) : intpcntl_alarm 函数的作用是为进程设置一个 alarm 闹钟信号。调用这个方法后会创建...

Swoole 定时器能实现毫秒级任务调度,你敢相信吗?

2022-05-09
阅读 2 分钟
1.4k
Timer 毫秒精度的定时器,底层基于 epoll_wait 和 setitimer 实现,数据结构使用 最小堆 ,可支持添加大量定时器,使用最小堆数据结构实现的定时器,类似 JavaScript 的 setInterval,Swoole 定时器的添加和删除,全部为内存操作,因此性能是非常高的。

Swoole中的协程使用相关说明,快来围观

2022-04-26
阅读 2 分钟
1.3k
什么是协程​ 协程可以简单理解为线程,只不过这个线程是用户态的,不需要操作系统参与,创建销毁和切换的成本非常低,和线程不同的是协程没法利用多核 cpu 的,想利用多核 cpu 需要依赖 Swoole 的多进程模型。

ThinkPHP6+swoole+easywechat使用教程

2022-04-25
阅读 15 分钟
2.1k
前言在结合think-swoole+easywechat扩展使用的时候,需要考虑curl兼容swoole携程问题,request兼容swoole框架,因为easywechat底层还是通过$_POST或者其他来获取请求参数。还有就是好多的接口基本没有。需要自己写,因为这里安装的是5.0的版本。在6.0版本后easywecaht不在写操作接口的相关逻辑只提供了一些授权后的接口...

SWOOLE高性能内存数据库的使用和配置教程

2022-04-21
阅读 2 分钟
1.9k
说明由于 PHP 语言不支持多线程,因此 Swoole 使用多进程模式,在多进程模式下存在进程内存隔离,在工作进程内修改 global 全局变量和超全局变量时,在其他进程是无效的。对应的解决方案有:

TP6+Swoole4 反向代理配置

2021-09-10
阅读 3 分钟
1.7k
Nginx反向代理配置首先配置反向代理前已经要把之前配置过的伪静态删除掉,不然保存的时候报错以下是反向代理的完整配置,请注意其中的端口号[8000]当前这个端口号就是config\swoole.php文件中的server.port配置中的端口号location ~* .(php|jsp|cgi|asp|aspx)${

laravel-swoole的扩展不兼容消息队列该怎么办?

2021-07-30
阅读 11 分钟
1.6k
这段时间用laravel8+laravel-swoole做项目,可发现laravel-swoole的扩展不兼容消息队列;思来想去这咋办呢,这咋办呢.咋办那就自己写咯!还好thinkphp-swoole扩展已经兼容了,那不就嘿嘿嘿!直接上修改的思路和代码!开干!一种是增加另外启动的命令或者在swoole启动的时候一起启动消息队列进行消费,我这么懒的人一个命令能解决...