kmfk / slowdb
此软件包最新版本(1.0.13)没有可用的许可证信息。
PHP编写的键/值存储
1.0.13
2015-03-16 17:56 UTC
Requires
- doctrine/collections: ~1.2.0
- react/socket: ~0.4.0
- symfony/console: ~2.5.0
- symfony/finder: ~2.5.0
Requires (Dev)
README
当你不想使用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);