跳转到主要内容

LevelDB的HTTP访问。

项目描述

FlatDB是LevelDB的一个简单的HTTP包装器。LevelDB是一个简单、持久的键值存储。

API

有三个端点。每个端点一次可以接受多个值。所有都使用HTTP GET。(这不是一个RESTful接口。)

/get

GET /get?key=foo&key=bar HTTP/1.1

从数据库中获取一个或多个值。响应将是一个JSON对象,其中包含数据库中每个键的键。

/getrange

GET /getrange?from=from_key HTTP/1.1

from_key开始获取一个范围。

/put

GET /put?foo=bar&baz=qux HTTP/1.1

将一个或多个值存储在数据库中。如果指定了多个键值对,它们将被原子性地作为一批写入。如果写入成功,返回状态将为201。如果写入失败,则不会。

/delete

GET /delete?key=foo&key=baz HTTP/1.1

从数据库中删除一个或多个键。如果指定了多个键,它们将被原子性地作为一批删除。如果删除成功,返回状态将为200。

为什么选择FlatDB?

LevelDB是一个理想的持久、快速键值存储解决方案。(Facebook的RocksDB是另一个有共同之处的替代品,但也很新。)由于LevelDB(和RocksDB)是库级数据存储,FlatDB提供了对它的简单、面向服务的接口。

其他项目,如RevelDB和Python的leveldb-server包,提供了类似的功能,但

  • RevelDB几乎没怎么构建,然后在启动时崩溃。

  • leveldb-server很奇怪,像tornado一样,且未提供文档。

运行FlatDB

FlatDB安装了两个可执行脚本:flatdbflatdb-dev

$ flatdb -h
usage: flatdb [-h] [-d] [-p PORT] [-b DATABASE] [-H HOST]

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug
  -p PORT, --port PORT
  -b DATABASE, --database DATABASE
  -H HOST, --host HOST
--port:

监听的端口。(7532

--host:

绑定地址。(127.0.0.1

--database:

LevelDB 的路径(如果不存在则创建)。

flatdb 运行一个 gevent 服务器。flatdb-dev 运行内置的 Flask 服务器。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

flatdb-0.1.0.tar.gz (3.5 kB 查看哈希值

上传时间

由以下组织支持