对leveldb的http访问。

flatdb的Python项目详细描述


flatdb是一个围绕leveldb的瘦http包装器。leveldb很简单, 持久密钥值存储。

API

有三个端点。每个值一次接受多个值。全部 使用http get。(这不是一个restful接口。)

/get

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

从数据库中获取一个或多个值。响应将是一个json 对象,在数据库中找到每个key都有一个键。

/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是 一个持久的、快速的键值存储的理想解决方案。(RockSDB是 与facebook有很多共同点,但也非常 因为leveldb(和rocksdb)是库级数据存储,所以flatdb 提供一个简单的面向服务的接口。

其他项目,比如reveldb和python leveldb服务器包, 提供类似的功能,但:

  • RevelDB几乎没有构建,然后在启动时出现故障。
  • leveldb服务器是怪异的,龙卷风和无证的。

运行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
>路径(如果不存在)将创建(如果不存在的话)。

flatdb运行gevent服务器。flatdb-dev 运行内置的烧瓶服务器。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java楼梯的最大高度   java Jackson从1.7.1更新到2.8.6 JsonTypeInfo子类型反序列化   Spring WebApp中的java JPA异常处理   java在SwingWorker(doInBackground)中从WorkerThread调用多个方法?   java Android Studio构建到jar   java是添加多个按钮组的更有效方法   java MySQL JDBC连接池最大大小   java如何防止元素<Integer>变成元素<Object>   Java:处理大型XML文件提取数据而不编写状态自动机?   SpringBoot和React Web应用程序中CAS的java重定向问题   需要java算法方面的帮助吗   java在JDK 16中使用PowerMock   java异常错误本机方法签名   在Java Android中将JSON映射到数组/对象   如何打开一个窗口。java程序中的dat文件   java应用程序引擎+Maven+热插拔   java Moxy的getValueByXPath为除根元素以外的所有元素返回null