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安装了两个可执行脚本:flatdb和flatdb-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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 15cd2f1e0bc804113de902e8970ad7c2ac864fc0e84ceb6a3910d7a146eb0b27 |
|
MD5 | 09e955480a0d0bddda49b11e2b0f0626 |
|
BLAKE2b-256 | f5829fbaf0e408311dad474747de7106d7a9c308cd01ec03dc3af0f769e3e7d0 |