amphp / mysql
基于Amp的异步MySQL客户端
v3.0.0
2024-03-10 17:33 UTC
Requires
- php: >=8.1
- amphp/amp: ^3
- amphp/parser: ^1.1
- amphp/pipeline: ^1
- amphp/socket: ^2.2
- amphp/sql: ^2
- amphp/sql-common: ^2
Requires (Dev)
- ext-mysqli: *
- ext-openssl: *
- amphp/file: ^3
- amphp/php-cs-fixer-config: ^2
- amphp/phpunit-util: ^3
- amphp/process: ^2
- phpbench/phpbench: ^1.2.6
- phpunit/phpunit: ^9
- psalm/phar: 5.23
- 3.x-dev
- v3.0.0
- v3.0.0-beta.9
- v3.0.0-beta.8
- v3.0.0-beta.7
- v3.0.0-beta.6
- v3.0.0-beta.5
- v3.0.0-beta.4
- v3.0.0-beta.3
- v3.0.0-beta.2
- v3.0.0-beta.1
- 2.x-dev
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.0
- v2.0.0-rc1
- v1.x-dev
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.0
- v0.3.1
- v0.3.0
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
This package is auto-updated.
Last update: 2024-09-10 18:50:57 UTC
README
AMPHP是一组针对PHP设计的事件驱动库,考虑到纤维和并发。 amphp/mysql
是一个异步MySQL客户端。该库通过透明地在可用的连接池中分配查询来实现并发查询。客户端通过100%的用户空间PHP透明地将这些查询分配到可扩展的连接池中;没有外部扩展依赖(例如 ext/mysqli
,ext/pdo
等)。
功能
- 提供非阻塞API以并发执行多个MySQL查询
- 透明连接池以克服MySQL的基本同步连接协议
- 支持MySQL传输编码(gzip,TLS加密)
- 支持参数化预编译语句
- 具有提交和回滚事件挂钩的嵌套事务
- 无缓冲结果以减少大型结果集的内存使用
- 完全 支持MySQL协议,包括所有可用的异步命令 所有†
† 如官方MySQL内部手册中所述 官方MySQL内部手册
安装
此包可以作为 Composer 依赖项安装。
composer require amphp/mysql
要求
- PHP 8.1+
用法
更详细的代码示例位于 examples
目录中。
use Amp\Mysql\MysqlConfig; use Amp\Mysql\MysqlConnectionPool; $config = MysqlConfig::fromString( "host=localhost user=username password=password db=test" ); $pool = new MysqlConnectionPool($config); $statement = $pool->prepare("SELECT * FROM table_name WHERE id = :id"); $result = $statement->execute(['id' => 1337]); foreach ($result as $row) { // $row is an associative-array of column values, e.g.: $row['column_name'] }
版本控制
amphp/mysql
遵循类似于所有其他 amphp
包的 semver 语义版本规范。
安全性
如果您发现任何安全问题,请使用私人安全问题报告者,而不是使用公共问题跟踪器。
许可
MIT许可证(MIT)。有关更多信息,请参阅 LICENSE
。