s00d/rocksdb-client-php

用于与RocksDB服务器交互的PHP客户端

1.0.10 2024-06-21 04:54 UTC

This package is auto-updated.

Last update: 2024-09-21 05:47:27 UTC


README

Packagist Version Packagist Downloads Packagist License GitHub Repo stars

RocksDB Client PHP

用于与RocksDB服务器交互的PHP客户端。

概览

此包是RocksDBFusion项目的一部分。在将此客户端集成到您的应用程序之前,您需要运行RocksDBFusion提供的RocksDB服务器。

安装

您可以通过Composer安装此包

composer require s00d/rocksdb-client-php

工作流程

以下图表说明了客户端如何与RocksDB服务器交互

配置

Laravel集成

  1. 添加服务提供者:

    在您的config/app.php文件中,将服务提供者添加到providers数组中

    'providers' => [
        // Other Service Providers
    
        s00d\RocksDB\RocksDBServiceProvider::class,
    ],

    并将别名添加到aliases数组中

    'aliases' => [
        // Other Facades
    
        'RocksDB' => s00d\RocksDB\Facades\RocksDB::class,
    ],
  2. 发布配置文件:

    php artisan vendor:publish --provider="s00d\RocksDB\RocksDBServiceProvider"

    这将创建一个config/rocksdb.php配置文件,您可以在其中设置连接详细信息。

  3. 更新您的.env文件:

    将您的RocksDB连接详细信息添加到.env文件中

    ROCKSDB_HOST=127.0.0.1
    ROCKSDB_PORT=12345
    ROCKSDB_TOKEN=null
  4. 使用方法:

    现在您可以在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类。

  1. 创建实例:

    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');
  2. 使用方法:

    // 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文件。

链接