6swoole
未知
2021-07-04 11:57:03
0

本篇内容主要讲述了最新的think-swoole扩展的使用。目前仅支持Linux环境或者MacOs下运行,要求swoole版本为4.3.1+

由于 think-swoole是基于swoole的,要了解这个扩展如何使用,首先需要对swoole有一定的了解,这也是本文阅读的前提,具体可以参考 Swoole官方文档内容:https://wiki.swoole.com

安装

首先按照Swoole官网说明安装swoole扩展,然后使用

composer require topthink/think-swoole
复制

安装think-swoole扩展。

由于Swoole不支持windows环境,所以你无法在windows环境下测试,只能使用虚拟机或者WSL环境测试。

HTTP服务

直接在命令行下启动HTTP服务端。

php think swoole
复制

启动完成后,默认会在0.0.0.0:80启动一个HTTP Server,可以直接访问当前的应用。相关配置参数可以在config/swoole.php里面配置(具体参考配置文件内容)。

支持的其它操作包括:

启动HTTP服务(默认)

php think swoole start
复制

停止服务

php think swoole stop
复制

重启服务

php think swoole restart
复制

reload服务

php think swoole reload
复制

守护进程模式

如果需要使用守护进程方式运行,可以配置

'options'   =>  [
    'daemonize' =>  true
]
复制

热更新

由于Swoole服务运行过程中PHP文件是常驻内存运行的,这样可以避免重复读取磁盘、重复解释编译PHP,以便达到最高性能。所以更改业务代码后必须手动reload或者restart才能生效。

think-swoole扩展提供了热更新功能,在检测到相关目录的文件有更新后会自动reload,从而不需要手动进行reload操作,方便开发调试。

如果你的应用开启了调试模式,默认是开启热更新的。原则上,在部署模式下不建议开启文件监控,一方面有性能损耗,另外一方面对文件所做的任何修改都需要确认无误才能进行更新部署。

热更新的默认配置如下:

当我们在应用的根目录下定义一个特殊的.env环境变量文件,里面设置了APP_DEBUG = true会默认开启热更新,你也可以直接把enable设置为true。

参数说明:

参数 说明
enable 是否开启热更新
name 简单点说就是监控那些类型的文件变动
include 简单点说就是监控那些路径下的文件变动
exclude 排除目录

连接池

think-swoole 默认有实现数据库和缓存连接池功能,涵盖了日常开发的主要场景。

最新的swoole版本支持一键协程,比如redismysql等等,很方便。连接池是在这个基础上,解决一些问题和对性能的再一次提升。

要开启一键协程,需要配置如下参数

这里需要设置为true,默认已经打开,flags默认即可。

连接池的配置参数如下:

参数说明:

参数 说明
enable 开关,不需要设置false
max_active 最大连接数,超过将不再新建连接
max_wait_time 超时时间

其中的max_activemax_wait_time需要根据自身业务和环境进行适当调整,最大化提高系统负载。

上一篇:6验证码

下一篇:6助手函数

相关内容

K8s在云服务器上的最佳实...
本文分享了Kubernetes在云服务器上的最佳实践,包括选择合适...
2024-11-20 15:46:38
Kubernetes在云服...
摘要: 本文介绍了Kubernetes在云服务器上的最佳实践案例...
2024-11-20 14:23:37
Kubernetes集群在...
云服务器上Kubernetes集群最佳实践:选择合适云服务商和配置...
2024-11-20 14:00:51
网络攻击中Webshell...
摘要:随着互联网发展,Webshell攻击手段日益隐蔽、目标广泛且...
2024-11-20 04:00:36
火狐的书签设置成单击书签链...
火狐的书签设置成单击书签链接后打开新的标签页
2024-03-26 09:50:53
最大文件限制转换成mb
最大文件限制转换成mb
2024-01-24 10:03:32

热门资讯

tp6开发规范 命名规范 请理解并尽量遵循以下命名规范,可以减少在开发过程中出现不必要的错误。 ThinkPHP6....
6高级查询 快捷查询 快捷查询方式是 一种多字段相同查询条件 的简化写法,可以进一步简化查询条件的写法,在多个字...
tp6多应用提示控制器不存在:... 第一个情况是没有使用composer安装扩展。 如果要使用多应用模式, 你需要win+r,cmd指针...
6配置 配置目录 单应用模式 对于单应用模式来说,配置文件和目录很简单,根目录下的 config 目录下面就...
6异常处理 和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面。 异...
6swoole 本篇内容主要讲述了最新的 think-swoole 扩展的使用。目前仅支持Linux环境或者MacO...
6助手函数 助手函数 系统为一些常用的操作方法封装了助手函数,便于使用,包含如下: 助手函数 描述 abort ...
6查询表达式 查询表达式 查询表达式支持大部分的SQL查询语法,也是 ThinkPHP 查询语言的精髓,查询表达式...
6路由参数 路由参数 路由分组及规则定义支持指定路由参数,这些参数主要完成路由匹配检测以及后续行为。 路由参数可...
6查询 模型查询和数据库查询方法的区别主要在于,模型中的查询的数据在获取的时候会经过获取器的处理,以及更加对...