文档章节

leveldb demo

0-1
 0-1
发布于 2014/10/08 17:07
字数 196
阅读 209
收藏 1
#include <iostream>
#include <leveldb/db.h>
#include <leveldb/write_batch.h> //原子更新操作
#include <assert.h>
 
using namespace std; 
using namespace leveldb;
  
int main(int argc,char * argv[]) 
{ 
     leveldb::DB* db; 
     leveldb::Options op; 
     leveldb::Status s ; 
     op.create_if_missing = true; 
     //op.error_if_exists = true;
     //string dbpath = "/tmp/testdb"; 
     string dbpath = "/data/osd.1/current/omap"; 
    
     s = leveldb::DB::Open(op, dbpath, &db); 
     assert(s.ok()); 
     cout<<"open db succ"<<std::endl; 
     /*std::string key = "100001"; 
     std::string val = "this is 100001's value"; 
     std::string retVal; 
     s = db->Put(leveldb::WriteOptions(), key, val);
     s = db->Get(leveldb::ReadOptions(), key, &retVal);
     s = db->Delete(leveldb::WriteOptions(), key);
     cout<<retVal<<std::endl; */


    leveldb::Iterator* it = db->NewIterator( leveldb::ReadOptions() ); 
    std::string mkey,mval;
    for ( it->SeekToFirst(); it->Valid(); it->Next() )
    { 
        mkey = it->key().ToString();
        mval = it->value().ToString();
        cout << "key=" << mkey <<", val=" << mval <<std::endl; 
        //if ( mkey.find("s3") != string::npos )
            //cout << "------------find " << mkey << "----------" << mval << std::endl;
    }
    assert(it->status().ok()); //check
    delete it;
    delete db;
  
   cout<<"over!"<<std::endl;
   return 0; 
}
rm ./ldbtest
g++ -g ldbtest.cpp -o ldbtest -L. -I./include -lpthread -lleveldb 
./ldbtest



参考:

1.  http://blog.csdn.net/hzqhbc/article/details/9367327

2.  http://blog.csdn.net/cywosp/article/details/20746879

© 著作权归作者所有

上一篇: duilib
下一篇: leveldb学习
0-1

0-1

粉丝 93
博文 268
码字总数 145989
作品 0
福州
程序员
私信 提问
activemq集群假死

现象是:进程都还在,但是端口已经不监听,查看日志发现以下错误,集群重启后就好了,这个情况大家碰到过吗,有规避的办法吗,在这里先谢谢了 2017-01-04 04:43:12,184 | WARN | listeners a...

youarepp
2017/01/05
666
3
rl_set key val能否保证一致性,leveldb写成功,redis写失败如何处理?

redis-storage能否做到强一致性 比如:rl_set key val 往redis和leveldb写值, 优先顺序:leveldb > redis, leveldb如果失败,将中断往redis写,返回错误 那如果,写leveldb成功,写redis时失...

笑天居士
2014/10/27
154
0
cpy-leveldb 0.3.2 发布

概述 cpy-leveldb(https://github.com/forhappy/cpy-leveldb)是根据leveldb c api的基础上写的python 绑定,并且0.3.x系列版本重写了代码,由以前的单文件项目结构分为目前的多文件结构,代码...

大卷卷
2011/09/17
633
0
兄弟连区块链入门教程以太坊源码分析ethdb源码分析

区块链入门教程以太坊源码分析ethdb源码分析,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人...

1505139910833337
2018/10/23
0
0
LevelDB 学习交流

下面PPT作者是@淘宝解伦,PPT中对LevelDB的特点、设计思想及实现原理都有所涵盖,是一篇不错的LevelDB入门教材。对LevelDB感兴趣的同学可以看看。 Google LevelDB Study Discuss...

红薯
2011/09/26
2.2K
1

没有更多内容

加载失败,请刷新页面

加载更多

mysql 5.7之my.cnf配置大全

[client]port = 3306socket = /tmp/mysql.sock[mysqld]###############################基础设置######################################Mysql服务的唯一编号 每个mysql服务...

Online_Reus
7分钟前
0
0
MAVEN打包时引入外部链接的包

1.项目引入了ORACLE的jar包,MAVEN配置如下 2.打jar包的时候需要指定下main如何函数mainClass <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> ......

Cobbage
18分钟前
0
0
rror: Default interface methods are only supported starting with Android N (--min-api 24): java.io.

项目运行的时候,如果报错 Error: Default interface methods are only supported starting with Android N (--min-api 24): java.io.InputStream org.apache.poi.sl.usermodel.ObjectShape.......

chenhongjiang
31分钟前
0
0
聊聊spring cloud openfeign的Targeter

序 本文主要研究一下spring cloud openfeign的Targeter Targeter spring-cloud-openfeign-core-2.2.0.M1-sources.jar!/org/springframework/cloud/openfeign/Targeter.java interface Targe......

go4it
33分钟前
0
0
说说我当初是如何学Linux的

今天我就说说我当初是如何从一名普通桌面维护工程师,通过学习和努力转成Linux运维工程师的,以及作为Linux运维工程师需要一些什么技能和知识,希望可以帮到一些对Linux有兴趣或者想往Linux...

linuxCool
42分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部