s00d / rocksdb-client-php
用于与RocksDB服务器交互的PHP客户端
1.0.10
2024-06-21 04:54 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- illuminate/support: ^7.0|^8.0|^9.0
Requires (Dev)
- phpunit/phpunit: ^9.5
README
RocksDB Client PHP
用于与RocksDB服务器交互的PHP客户端。
概览
此包是RocksDBFusion项目的一部分。在将此客户端集成到您的应用程序之前,您需要运行RocksDBFusion提供的RocksDB服务器。
安装
您可以通过Composer安装此包
composer require s00d/rocksdb-client-php
工作流程
以下图表说明了客户端如何与RocksDB服务器交互
配置
Laravel集成
-
添加服务提供者:
在您的
config/app.php
文件中,将服务提供者添加到providers
数组中'providers' => [ // Other Service Providers s00d\RocksDB\RocksDBServiceProvider::class, ],
并将别名添加到
aliases
数组中'aliases' => [ // Other Facades 'RocksDB' => s00d\RocksDB\Facades\RocksDB::class, ],
-
发布配置文件:
php artisan vendor:publish --provider="s00d\RocksDB\RocksDBServiceProvider"
这将创建一个
config/rocksdb.php
配置文件,您可以在其中设置连接详细信息。 -
更新您的
.env
文件:将您的RocksDB连接详细信息添加到
.env
文件中ROCKSDB_HOST=127.0.0.1 ROCKSDB_PORT=12345 ROCKSDB_TOKEN=null
-
使用方法:
现在您可以在Laravel应用程序中使用RocksDB客户端
use RocksDB; // Put a value RocksDB::put('key', 'value'); // Get a value $value = RocksDB::get('key'); // Delete a key RocksDB::delete('key'); // Other available methods...
直接使用(不使用Laravel)
如果您想在不使用Laravel的情况下使用客户端,可以直接实例化RocksDBClient
类。
-
创建实例:
use s00d\RocksDB\RocksDBClient; $client = new RocksDBClient('127.0.0.1', 12345); // If you have a token // $client = new RocksDBClient('127.0.0.1', 12345, 'your-token');
-
使用方法:
// Put a value $client->put('key', 'value'); // Get a value $value = $client->get('key'); // Delete a key $client->delete('key'); // Other available methods...
服务器设置
此包是RocksDB服务器客户端,它是RocksDBFusion项目的一部分。在使用此客户端之前,请确保RocksDB服务器正在运行。您可以通过遵循RocksDBFusion存储库中的说明来设置和运行服务器。
方法
put
将键值对存储在数据库中。
RocksDB::put('key', 'value', 'optional_column_family');
get
从数据库中检索键的值。
$value = RocksDB::get('key', 'optional_column_family', 'default_value');
delete
从数据库中删除键。
RocksDB::delete('key', 'optional_column_family');
merge
将值与现有键合并。
RocksDB::merge('key', 'value', 'optional_column_family');
listColumnFamilies
列出数据库中的所有列族。
$columnFamilies = RocksDB::listColumnFamilies('path_to_db');
createColumnFamily
创建新的列族。
RocksDB::createColumnFamily('new_column_family');
dropColumnFamily
删除现有的列族。
RocksDB::dropColumnFamily('column_family');
compactRange
在范围内压缩数据库。
RocksDB::compactRange('start_key', 'end_key', 'optional_column_family');
事务
开始事务
开始一个新事务。
$txnId = RocksDB::beginTransaction();
提交事务
提交事务。
RocksDB::commitTransaction($txnId);
回滚事务
回滚事务。
RocksDB::rollbackTransaction($txnId);
许可证
本项目采用MIT许可证 - 详细信息请参阅LICENSE文件。