SMProxy 简介

基于 LaravelS 扩展在 Laravel 框架中使用 Swoole,但是 LaravelS 不支持数据库连接池,只能实现数据库长连接,而对于 PHP 应用来说,数据库连接池在提升性能方面确有显著功效,我们可以基于 Swoole 提供的异步任务或者协程来自己实现数据库连接池,不过还有一个现成的扩展可以使用,那就是SMProxy

SMProxy一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。

安装配置

环境要求

  • Swoole >= 2.1.3
  • PHP >= 7.0

安装

配置

安装成功,需要通过 conf/database.jsonconf/server.json 来配置 SMProxy

前者主要用于配置 MySQL 数据库信息,比如本地测试的话配置信息如下(以 laradock 作为开发环境):

后者主要用于配置 SMProxy 服务器信息(ROOT 表示当前 SMProxy 项目的根目录,同样以 laradock 作为示例开发环境):

运行

我们可以在 SMProxy 项目下通过如下命令启动 SMProxy:

json 文件的注释要去掉哦

启动成功后,通过 ps -ef | grep SMProxy 查看开启的 MySQL 客户端连接实例:

通过这些实例就可以连接到 MySQL 数据库进行操作,我们可以通过 SMProxy 账户、密码、监听地址和端口连接到数据库。

在 Laravel 中配置

修改 Laravel 环境配置文件 .env 数据库相关配置信息如下,以便可以通过 SMProxy 数据库连接池与数据库进行交互:

这样 Laravel 中的所有数据库(MySQL)操作默认都是通过基于 SMProxy 的数据库连接池进行的


REFERENCE


发表评论

电子邮件地址不会被公开。 必填项已用*标注