phpinnacle / cassis
PHPinnacle 异步 Cassandra 客户端
0.0.1
2019-04-04 09:36 UTC
Requires
- php: ^7.2
- amphp/amp: ^2.0
- amphp/socket: ^0.10
- phpinnacle/buffer: ^1.0
Requires (Dev)
- phpbench/phpbench: ^0.16
- phpunit/phpunit: ^8.0
- ramsey/uuid: ^3.8
Suggests
- ext-gmp: For use Varint and Decimal Cassandra types
- ext-lz4: For use LZ4 compression mechanism
- ext-snappy: For use Google Snappy compression mechanism
- ramsey/uuid: For use Uuid and Timeuuid Cassandra types
This package is auto-updated.
Last update: 2024-09-04 21:43:12 UTC
README
此库是 Cassandra V4 二进制协议的纯异步 PHP 实现。它使用 amphp 框架进行异步操作。
安装
通过 Composer
$ composer require phpinnacle/cassis
基本用法
<?php use Amp\Loop; use PHPinnacle\Cassis\Cluster; use PHPinnacle\Cassis\Session; use PHPinnacle\Cassis\Statement; require __DIR__ . '/vendor/autoload.php'; Loop::run(function () { $cluster = Cluster::build('tcp://localhost:9042'); /** @var Session $session */ $session = yield $cluster->connect('system'); $statement = new Statement\Simple('SELECT keyspace_name, columnfamily_name FROM schema_columnfamilies'); $result = yield $session->execute($statement); foreach ($result as $row) { printf("The keyspace %s has a table called %s\n", $row['keyspace_name'], $row['columnfamily_name']); } $session->close(); });
更多示例可以在 examples
目录中找到。运行方法:
CASSIS_EXAMPLE_DSN=tcp://user:pass@localhost:9042 php example/*
测试
CASSIS_TEST_DSN=tcp://user:pass@localhost:9042 composer test
基准测试
CASSIS_BENCHMARK_DSN=tcp://user:pass@localhost:9042 composer bench
贡献
请参阅 CONTRIBUTING 和 CONDUCT 以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 dev@phpinnacle.com 而不是使用问题跟踪器。
致谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。