当前位置:  软件>C/C++软件

NoSQL 数据服务器 Reveldb

    来源:    发布时间:2015-01-02

    本文导语:  reveldb 一个基于 google leveldb 的 NoSQL 数据服务器,网络连接采用了 libevent 的 HTTP 接口,因此 reveldb 天生就适合处理 HTTP 请求。但更确切地说,reveldb 并没有直接采用 libevent 的 HTTP 接口,而是使用了另外一个基于 libevent 的网络...

reveldb 一个基于 google leveldb 的 NoSQL 数据服务器,网络连接采用了 libevent 的 HTTP 接口,因此 reveldb 天生就适合处理 HTTP 请求。但更确切地说,reveldb 并没有直接采用 libevent 的 HTTP 接口,而是使用了另外一个基于 libevent 的网络连接库 libevhtp(https://github.com/ellzey/libevhtp),并对它做了适当的修改,使之成为 reveldb 的底层组件 evhttpx(https://github.com/forhappy/reveldb/tree/master/src/evhttpx), evhttpx 为 reveldb 提供了 HTTP 和 HTTPS 支持,因此,reveldb 除了能够处理 HTTP 请求外,也能够处理 HTTPS 请求,这一特性是 Kyoto Tycoon 没有的。

Reveldb 定位于 Kyoto Tycoon 类似,也是一个数据库网络层的服务,具体一点就是 Leveldb 的网络层接口(因为 leveldb 本身只是一个程序库,并没有服务器/客户端的概念),reveldb 封装了 leveldb 的绝大部分操作,如 Snapshot, Writebatch, Iterator 等等,并且在此基础之上扩展了很多命令,比如 string 的 append, prepend, insert,Key-Value 的 mset, mget, mdel, seize, mseize,此外还有 range query, 基于编辑距离的查找,正则式 regex 匹配查找;同时还提供了一些数据库管理的命令,如compact, repair, destroy 等;Ling外,reveldb 支持打开多个数据库,底层使用了红黑树缓存各个客户端已经打开的 leveldb 实例。

HTTP RPC 示例:

 

/rpc/echo

  • Description: Echo back the input data as the output data, as well as HTTP headers, just for testing.

  • input: (optional): arbitrary records.

  • output: (optional): corresponding records to the input data.

  • status code: 200.

  • sample request:

    http://127.0.0.1:8088/rpc/echo?db=default&key=hello&value=world
  • sample response:

    {
        "code": 200,
        "status": "OK",
        "message": "Reveldb echoed the HTTP headers and query arguments of your request.",
        "date": "Mon, 17 Dec 2012 12:50:22 GMT",
        "request": {
            "headers": {
                "Host": "127.0.0.1:8088",
                "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:17.0) Gecko/20100101 Firefox/17.0",
                "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                "Accept-Language": "en-US,en;q=0.5",
                "Accept-Encoding": "gzip, deflate",
                "Connection": "keep-alive"
            },
            "arguments": {
                "db": "default",
                "key": "hello",
                "value": "world"
            }
        }
    }

 

 

/rpc/set

  • Description:

  • input: db: the database identifier.

  • input: key: key to be added.

  • input: value: value along with the key to be added.

  • status code: 200.

  • sample request:

    http://127.0.0.1:8088/rpc/set?db=hello&key=hello&value=world
  • sample response:

    {
        "code": 200,
        "status": "OK",
        "message": "Set key-value pair done.",
        "date": "Thu, 27 Dec 2012 09:11:26 GMT"
    }

/rpc/get

  • Description:

  • input: db: the database identifier.

  • input: key: which key to get.

  • status code: 200.

  • sample request:

    http://127.0.0.1:8088/rpc/get&db=hello&key=hello
  • sample response:

  • {
        "code": 200,
        "status": "OK",
        "message": "Get key-value pair done.",
        "date": "Thu, 27 Dec 2012 09:19:05 GMT",
        "kv": {
            "hello": "worldworld"
        }
    }

 


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • nosql数据库levedb介绍及levedb最新版1.18下载安装
  • NoSQL数据库 Ardb
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 轻量级 NoSQL 数据库 WhiteDB
  • NoSQL数据库 Couchbase Server
  • 关系型数据库管理系统 NoSQL
  • NoSQL 数据存储系统 Blur
  • 盛大NoSQL数据库 tcdatabase
  • 多维NoSQL数据库 GlobalsDB
  • 开源NoSQL数据库 ChaosDB
  • NoSQL 数据库 leveldbd
  • NoSQL 数据库 Redis-v8
  • NoSQL 数据库 Flora
  • 高性能 NoSQL 数据库 ArangoDB
  • 嵌入式NoSQL数据库 HyperGraphDB
  • 高性能NoSQL数据库 SSDB
  • K/V型NoSQL数据库 Memlink
  • NoSQL数据库 SenseiDB
  • 企业级分布式NoSQL数据库 SequoiaDB
  • 高性能 NoSQL 数据库 外存
  • Java .NET 双引擎高速 NoSQL数据库 iBoxDB
  • JUnit 的 NoSQL 扩展 NoSQL Unit
  • NoSQL的ORM框架 Kundera
  • NoSQL的单元测试工具 NoSQLUnit
  • NoSQL的ORM框架 Apache Gora
  • NoSQL的持久层框架 Hibernate OGM
  • NoSQL Database
  • 开源NoSQL系统 Membase
  • 嵌入式NoSQL引擎 UnQLite


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3