博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leveldb安装
阅读量:2428 次
发布时间:2019-05-10

本文共 1578 字,大约阅读时间需要 5 分钟。

实验环境

主机:ubuntu-16.04-x64g++版本:5.4.0leveldb版本:leveldb-1.20

概述

leveldb是一个谷歌开源的由cpp实现的key-value存储库,它提供了从字符串键到字符串值的有序映射。它的实现理念与大数据中的BigTable思想有颇多相似之处,甚至有很多人认为leveldb就是谷歌BigTable的单机版实现。因此理解leveldb的实现原理对大数据的学习也是有好处的。

特点

  • 键和值是任意字节数组。
  • 数据按键排序。
  • 调用者可以提供自定义比较函数来实现数据排序。
  • 基本操作有Put(key,value)、Get(key)、Delete(key)。
  • 可以在一个原子批处理中进行多个更改。
  • 用户可以创建一个临时快照以获得一致的数据视图。
  • 数据访问支持向前和向后迭代。
  • 使用Snappy压缩库自动压缩数据。

安装

1.下载安装包

点击下载leveldb,这里我选择的是1.20版本。(注意从tag里面的版本中去选择)

2.编译安装

将安装包上传到ubuntu主机上,解压。

unzip leveldb-1.20.zip

编译

make

编译完成后,leveldb根目录中会多出两个目录:out-shared, out-static,分别用于存储生成的动态库和静态库,在本实例中采用动态库来演示。

拷贝头文件与动态库

cp -r include/leveldb /usr/include # 拷贝头文件#拷贝动态库cp out-shared/libleveldb.so.1.20 /usr/libcd /usr/libsudo ln -s libleveldb.so.1.20 libleveldb.so.1sudo ln -s libleveldb.so.1 libleveldb.so#将动态库加入缓存中ldconfig

3.验证程序

#include 
#include
#include
#include
#include
int main(){ leveldb::DB *db; leveldb::Options options; options.create_if_missing = true; leveldb::Status status = leveldb::DB::Open(options,"./leveldb",&db); std::cout << status.ToString() << std::endl; assert(status.ok()); std::string key = "name"; std::string value; leveldb::Status s = db->Put(leveldb::WriteOptions(), key, "henry"); s = db->Get(leveldb::ReadOptions(), key, &value); std::cout << "get a key: " << key << ", value is: " << value << std::endl; delete db; return 0;}

该程序的功能就是插入一个key-value对,然后再读取出来

编译:

g++ main.cpp -o main   -lleveldb  -lpthread

运行:

root@ubuntu:~# ./main OKget a key: name, value is: henry

转载地址:http://uwjmb.baihongyu.com/

你可能感兴趣的文章
基于深度学习实现语义识别和问答判断模型及算法优化-制造业-CSDN公开课-专题视频课程...
查看>>
AWS 在线公开课(大数据及分析):Amazon Kinesis和Spark流式处理-CSDN公开课-专题视频课程...
查看>>
引领微服务创新-IBM Microservice Builder 新技术首播!-CSDN公开课-专题视频课程
查看>>
移动平台增强现实体验编辑器 PTC ThingWorx Studio入门-CSDN公开课-专题视频课程
查看>>
深度学习入门及如何转型AI领域-CSDN公开课-专题视频课程
查看>>
基于骁龙 VR SDK的VR图形优化-CSDN公开课-专题视频课程
查看>>
让机器读懂你的意图——人体行为预测入门-CSDN公开课-专题视频课程
查看>>
应用Bluemix实现商业价值-CSDN公开课-专题视频课程
查看>>
传统IT环境与PaaS环境下的应用开发模式-CSDN公开课-专题视频课程
查看>>
SDCC 2017之大数据技术实战线上峰会-CSDN公开课-专题视频课程
查看>>
一个CloudCC生态软件包的诞生:带你体验CloudCC生态-CSDN公开课-专题视频课程
查看>>
极简运维,无限扩容——Serverless Monitoring技术公开课-CSDN公开课-专题视频课程...
查看>>
常用Android程序逆向与保护技术-CSDN公开课-专题视频课程
查看>>
【Python系列之】Python Django 框架初次体验-CSDN公开课-专题视频课程
查看>>
Hadoop 3.0 新特性原理及架构分析-CSDN公开课-专题视频课程
查看>>
3小时掌握数据挖掘-CSDN公开课-专题视频课程
查看>>
Web 全栈全端技术体系与软件四层结构-CSDN公开课-专题视频课程
查看>>
AI学习挑战直播课:成功案例分享及行业趋势分析-CSDN公开课-专题视频课程
查看>>
【UI/UE设计师】banner设计原则-CSDN公开课-专题视频课程
查看>>
大数据智能:金融行业用户画像实践教程-CSDN公开课-专题视频课程
查看>>