Leveldb使用小例

【鸿蒙实战】OpenHarmony其他工具类—leveldb [GN编译] leveldb是一种快速键值存储库,提供从字符串键到字符串值的有序映射。 阅读详情
#include <assert.h>
#include <iostream>
#include <string>
#include <db.h>

using namespace std;

int main(int argc, char *argv[])
{
	leveldb::DB *db;
	leveldb::Options options;
	options.create_if_missing = true;
	std::string dbpath = "testdb";
	leveldb::Status status = leveldb::DB::Open(options, dbpath, &db);
	assert(status.ok());
	std::string key1 = "lgc";
	std::string key2 = "example@gmail.com";
	cout<< "Open db ok" << std::endl;

	std::string value;
	leveldb::Status s;
	s = db->Put(leveldb::WriteOptions(), key1, key2);
	s = db->Get(leveldb::ReadOptions(), key1, &value);
	
	cout << value << std::endl;

	delete db;

	return 0;
}


下载LevelDB源码,配置后,编译,然后将库的头文件copy到/usr/include目录下,共享库拷贝到/usr/lib目录下

编译:g++ -Wall -g  -o test leveldb.cpp -I/usr/include/leveldb/ -L/usr/lib -lleveldb

执行:./test

输出:

Open db ok

example@gmail.com

执行完就会发现程序创建了一个testdb的目录, shell: ls testdb发现目录里有数据文件:

000003.log  CURRENT  LOCK  LOG  MANIFEST-000002

这个程序非常简单,先设置数据库选项,接着打开数据库,向打开的数据库写入一条数据,然后再从数据库读数据,打印读到的数据。

Leveldb的API详细解释可以参考Leveldb的官方文档

http://www.pipetips.com/entries/2012/09/06/8356.html




LevelDB安装及使用 安装并使用LevelDB。 环境安装 本项目基于Ubuntu 16.04.1 LTS,参考链接。 建议预留50G空间,根目录20G,boot 500m,swap 2到4G,其他的都给home 若使用虚拟机,建议使用sudo apt-get install gparted进行可视化分区及扩容(需要删除之前的wap分区) 安装Clion 官网下载 解压并安装,运行clion.s... 阅读详情

相关推荐

为什么ActiveMQ官方不再推荐使用LevelDB

为什么ActiveMQ官方不再推荐使用LevelDB 最近在学习mq,虽然已经在使用,但是却未深入的了解,于是阅读官方文档的时候发现ActiveMQ官方不再推荐使用LevelDB。ActiveMQ在5.8.0 版本后引入了LevelDB的,并且LevelDB存储是基于文件的持久性数据库,可提供比KahaDB更快的持久性。为什么ActiveMQ官方不再支持或建议使用levelDB?在网上搜了一大堆终...

lan墨的博客 4487

LevelDB使用指南

这篇文章是levelDB官方文档的译文,原文地址:LevelDB library documentation这篇文章主要讲leveldb接口使用和注意事项。 leveldb是一个持久型的key-value数据库。key,value可以是任意的字节数组,key之间是有序的。key的比较函数可以由用户指定。1. 打开数据库leveldb使用文件系统目录名作为name,并把数据库所有内容都存储在这个目录

ZkvIA的博客 1万+

db:leveldb的命令行

用于goleveldb的命令行工具。 用法: db --db db.dir scan db --db db.dir get Key db --db db.dir put Key value db --db db.dir del Key 按需创建db.dir。

区块链之LevelDB

Leveldb是一个Google实现的非常高效的kv开源数据库,版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计,实现原理是依据LSM-Tree(Log Structed-Merge Tree)算法。...

qq_41547320的博客 3319

leveldb-shell:一个简单的LevelDB Shell

LevelDB Shell 描述 LevelDB Shell提供了一个简单的命令行外壳来执行基本操作,即在LevelDB数据库上进行放置,获取和删除。 建造 请使用以下命令从源代码构建外壳工具: gradle clean distTar 用法 执行./bin/leveldb-shell以启动外壳程序。 一个参数,它是LevelDB数据库文件的根目录的路径。 如果LevelDB数据库文件不存在,则会在此处创建一个新的数据库。

从单应矩阵到实际距离:Apriltag测距完整实现指南

本文提供了基于Apriltag实现高精度视觉测距与姿态估计的完整指南。详细阐述了从相机标定、单应矩阵分解到欧拉角与距离计算的完整流程,并深入探讨了四个解的歧义选择、工程实践中的滤波优化与多Tag融合等关键问题,旨在帮助开发者在机器人、AR等应用中实现稳定可靠的距离检测与姿态估计。

n7o8p的博客 559

LevelDB 入门 —— 全面了解 LevelDB 的功能特性

本节我们将全面了解一下 LevelDB 的各种特性。LevelDB 的开发语言是 C++,考虑到会使用 C++ 语言的同学不是很多,在本节我们将使用 Java 语言来描述 LevelDB 的特性。其它语言栈的同学也不必担心,因为不同语言操纵 LevelDB 的接口 API 都是一样的,使用起来大同小异。 打开和关闭 LevelDB 的数据存储在一个特定的目录中,里面有很多数据文件、日志文件等。使...

weixin_34221276的博客 1163

vcs覆盖率相关

选择要查看的覆盖率点,右键选择 show xxx tests;

qq_40571921的博客 2387

leveldb简单使用样例

几个leveldb的简单使用样例,包含写数据、查数据、遍历数据,c++语言的,供参考。

春夜喜雨的专栏 1249

瑞萨单片机,把CS文件转换为CC

1、打开CC的软件: 点击坐上角的"START" 点击"Create New Project"的"GO": 导入工程: 如下图设置后,点击"Create" 2、进入到CC的开发界面: 可以看到原启动库文件以asm文件的方式直接出现在工程中: 删除新生成的main.c,保留导入的r_main.c(以你自己的代码为准): 注意添加所有的头文件路径: 点击"...

weixin_37611121的博客 1228

5G NR切换测量事件解析:从A1到B2的实战应用指南

本文深入解析5G NR切换测量事件,从A1到B2的实战应用指南。详细介绍了系统内切换事件(A1-A6)和系统间切换事件(B1-B2)的触发条件与配置建议,帮助优化网络性能。通过实际案例分享,展示如何调整参数提升切换成功率和降低乒乓切换率,适用于5G网络优化工程师。

tcp8optimizer的博客 512

leveldb前缀匹配查找Seek

最近偶然发现了,leveldb前缀匹配查找的功能。 之前没有从这个角度去想过Seek方法,尝试使用之后,效率还是很好的。 时不我待,下面也谈一谈该技术点,以及这个技术点的背后支持,leveldb为此做的实现。

春夜喜雨的专栏 1010

美团外卖mtgsig 1.2逆向工程:从补环境到签名生成全解析

本文深入解析了美团外卖mtgsig 1.2签名算法的逆向工程全流程。从环境检测原理与补环境实战入手,详细拆解了签名JSON中每个关键字段的生成逻辑,并重点剖析了核心签名a2的生成步骤,涉及设备指纹、MD5、AES加密等关键技术。最后提供了构建签名生成器的实践思路与常见坑点,为理解复杂风控体系提供了完整的技术视角。

weixin_29324401的博客 1755

OpenHarmony其他工具类—leveldb [GN编译]

leveldb是一种快速键值存储库,提供从字符串键到字符串值的有序映射。

achenbusi的博客 1049

你不知道的Postman的Mock接口测试,看这一篇就够了

创建Mock服务你可以从Postman已有的测试集(Collection)中创建Mock Server或者直接创建Mock Server(我们这里选择从已有的测试集中创建Mock Server)Mock server详细配置页面,在此页面中我们可以设置:命名Mock Server选择一个环境(可选的),我们可以选择之前设置过的环境,Mock Server将会使用对应环境中设置过的变量在对应的请求和响应中如果想要将Mock Server设置私有访问的,那么可以勾选此选项,不勾选则对所有人可见。

654

解决:Solving environment: failed CondaValueError: Malformed version string ‘~‘: invalid character(s).

解决:Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s).

晚风微凉的博客 1万+

小米自研vela系统kvdb数据库的使用(一)

KVDB 数据库详细介绍KVDB 的基本原理KVDB 的应用场景1. 缓存系统2. 配置管理3. 会话存储与用户状态管理4. 实时数据处理5. 日志记录与事件存储6. 分布式存储KVDB 的作用KVDB 数据库的典型实现1. LevelDB2. RocksDBKVDB 调用方式下面以 **LevelDB** 和 **RocksDB** 为例,简要介绍如何在代码中使用 KVDB 数据库。见嵌入式场景kvdb数据库的使用(二)KVDB。

qq_39642740的博客 2133

基于YOLOv5的空间目标智能监测系统:航天器与太空碎片识别技术实现

做完这个项目,你会发现自己完整走过了“数据采集→标注→模型训练→功能集成→界面开发”的毕设全流程,这不仅是技术能力的证明,更是对“技术守护宇宙安全”这一理念的实践。答辩时,你可以重点讲这几点:系统解决了航天监测的哪些痛点、YOLOv5在太空目标检测中的性能优势、系统未来能怎么优化(比如对接航天监测网络、实现实时轨道预测)。未来,这个系统还能往“更智能”的方向发展:比如结合轨道计算预测碰撞风险、开发移动端APP让天文爱好者参与太空垃圾上报、在航天任务中实现全自动避障决策……想象空间很大。

m0_64661770的博客 109

【Java学习】LevelDB使用

如果饿了就吃,困了就睡,渴了就喝,人生就太无趣了 作者:可耳(keer) 更新时间 : 2020年04月06日 源码地址:https://github.com/keer123456789/java_study_demo/tree/master/leveldb_demo 1.LevelDB 简介 Level高效的kv数据,提供较高性能的本地存储(持久化)的功能。可为应用提供嵌入式的数据存储工作...

可耳(keer)的博客 1939

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

leveldb学习:leveldb 安装及使用

leveldb 安装及使用 leveldb 简介 leveldb 是 Google 用 C++ 开发的一个快速的键值对存储数据库,提供从字符串键到字符串值的有序映射。 leveldb 安装 下载 leveldb git clone https://github.com/google/leveldb.git 编译 leveldb cd leveldb/ make 编译的...

guangyacyb的博客 1392

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

leveldb研究系列一 .leveldb的简单介绍和简单使用

前些日子闲来无聊,花了一段时间研究了一下leveldb,在网上下了源代码结合网上的技术文档和博客,做了细致的学习,这几天打算想整理成系列博客,以便大家参考和指正,这样是我本人第一次写技术博客,不足之处还望指正。         本系列博文,将对 leveldb做全局介绍,从安装使用,适用场景, 关键算法, 代码实现,关键数据结构,等等做一个全面深入的探讨和学习。 我一直相信学习是个迭代的

qq112928的专栏 4673

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

LevelDB使用入门

1,下载levelDB源码 git clone https://github.com/google/leveldb.git 2,编译LevelDB cd leveldb & make all 编译完成之后在当前目录多了两个目录:out-shared和out-static 在out-static目录下有我们需要的libleveldb.a 3,在当前目录新建文件夹test

ZkvIA的博客 1万+

LevelDB使用例子

LevelDB Level高效的kv数据,提供较高性能的本地存储(持久化)的功能。可为应用提供嵌入式的数据存储工作。

潜伏的猫 1887

在golang中使用leveldb

leveldb是一个很强悍的kv数据库,自然,我也希望能在go中使用。 如果有官方的go leveldb实现,那我会优先考虑,譬如这个,但是该库文档完全没有,并且在网上没发现有人用于实战环境,对其能否在生产环境中使用打上问号,保险起见,我还是决定不使用。 因为leveldb有c的接口...

958

leveldb原理和使用

LevelDB是一个基于本地文件的存储引擎,非分布式存储引擎,原理基于BigTable(LSM文件树),无索引机制,存储条目为Key-value。适用于保存数据缓存、日志存储、高速缓存等应用,主要是避免RPC请求带来的延迟问题。在存取模型上,顺序读取性能极高,但是对于随机读取的情况延迟较大(但性能也不是特别低),比较适合顺序写入(key),随机的key写入也不会带来问题。数据存量通常为物理内存的3

未语愁眸 1万+
上一篇: 解析Content-Type: multipart/form-data格式数据
下一篇: Leveldb官方说明文档
smallmelon
博客等级 码龄16年 22粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值