kmfk/slowdb

此软件包最新版本(1.0.13)没有可用的许可证信息。

PHP编写的键/值存储

1.0.13 2015-03-16 17:56 UTC

This package is not auto-updated.

Last update: 2024-09-24 01:53:22 UTC


README

SlowDB

当你不想使用Redis、Memcached或其他任何键/值存储时。

SlowDB 是一个纯PHP编写的键/值存储,你可能会惊讶地发现你的同事在生产环境中正在使用它。

特性

  • 多个命名集合
  • 内存索引
  • 安全写入磁盘

SlowDB 允许在多个集合中存储键/值对。索引在启动时构建/重建,将键映射到磁盘上的文件位置。这允许在数据库文件上执行高效的二分搜索,并直接写入磁盘以实现安全、一致地写入。

安装

在本地上克隆存储库并运行 composer install

$> git clone https://github.com/kmfk/slowdb
$> cd slowdb/
$> php composer.phar install

使用方法

技术上,SlowDB 可以作为你的应用程序中的服务实例化。

然而,当SlowDB作为服务使用时,需要在每次请求时实例化数据库并构建索引。在小数据集上,这应该可以忽略不计——而在大数据集上,这可能会给请求增加不必要的延迟。

使用SlowDB的最佳方法是使用包含的socket服务器(基于 ReactPHP)和 驱动

虽然它是单线程的,但这将保持数据库索引在内存中并提供更好的性能。

$> ./slowdb &

基本示例

服务器启动后,你可以这样使用它

    <?php

    require 'vendor/autoload.php';

    use SlowDB\Driver;

    $driver = new Driver('localhost', 1337);

    $driver->test->set('abc', ['foo' => 'bar']);

    $value = $driver->test->get('abc');

    print_r($value);