【第22期】观点:IT 行业加班,到底有没有价值?

levelDB—初识levelDB

原创 2013年12月01日 22:35:03

levelDB是google实现的一个非常高效的key-value数据库,是能够处理十亿级别规模key-value型数据持久性存储的C++程序库。具有极高的读写速度。官方网站报道其随机写性能达到40万条记录每秒,随机读性能达到6万条记录每秒。写操作要远快于读操作,顺序读写操作大于随机读写操作。

levelDB的作者是Jeaf Dean (http://research.google.com/people/jeff/index.html)和 Sanjay Ghemawat(http://research.google.com/pubs/SanjayGhemawat.html),是Google的Fellow,属于重量级工程师。


levelDB的安装过程:

1)下载源码,http://code.google.com/p/leveldb/downloads/detail?name=leveldb-1.14.0.tar.gz&can=2&q=

2) 解压tar -xzvf  leveldb-1.14.0.tar.gz

3) 进入leveldb-1.14.0目录,执行命令:make

4) 当目录中生成.a 和 .so文件时,说明安装成功。


levelDB的使用方法:

1) 编写如下代码MainTest.cpp:

#include "leveldb/db.h"
#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
    leveldb::DB *db;
    leveldb::Options options;

    options.create_if_missing = true;

    //open the database 打开数据库
    leveldb::DB::Open(options, "testdb", &db);

    //key-value pair  键值对声明
    string key = "key", value = "value", result;

    //store the key-value  插入键值对
    db->Put(leveldb::WriteOptions(), key, value);

    //select the key-value  查询键值
    db->Get(leveldb::ReadOptions(), key, &result);

    //output to the screen
    cout << "result = " << result << endl;

    //close the database 关闭数据库
    delete db;

    return 0;
}
2)编译MainTest.cpp

     g++ MainTest.cpp  -Ileveldb-1.14.0/include/  leveldb-1.14.0/ibleveldb.a  -lpthread
     其中leveldb-1.14.0为leveldb的安装目录,就是刚才解压出来的目录。

3)第二步生成a.out, 执行命令 ./a.out

     打印, result = value, 并且在目录下生成testdb文件夹,里面有LOG CURRENT等文件。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

计算机科学精彩帖子收集

linux源码 LXR 源自“the Linux Cross Referencer”,中间的“X”形象地代表了“Cross”。与 Source Navigator 类似,它也是分析阅读源代码的好工具。...
  • unix21
  • unix21
  • 2014-04-24 15:39
  • 7847

LevelDB学习与实践

LevelDB学习与实践      LevelDB是一个基于本地文件的存储引擎,非分布式存储引擎,原理基于BigTable(LSM文件树),无索引机制,存储条目为Key-value。适用于保存数据缓存、日志存储、高速缓存等应用,主要是避免RPC请求带来的延迟问题。在...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

leveldb 初识

一.leveldb安装与使用 1.  下载leveldb-1.15.0.tar.gz 2.  解压tar  -zxvf leveldb-1.15.0.tar.gz 3.  cd leveldb-1.1...

基于zookeeper+leveldb搭建activemq集群

  自从activemq5.9.0开始,activemq的集群实现方式取消了传统的Master-Slave方式,增加了基于zookeeper+leveldb的实现方式,其他两种方式:目录共享和数据库共享依然存在。本文主要阐述基于zookeeper和leveldb搭建activem...

leveldb学习二

这里主要收集leveldb源码中比较犀利的代码段。   const int C = 1 &lt;&lt; 20; v
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)