加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C的数据存储库

发布时间:2020-12-16 09:44:33 所属栏目:百科 来源:网络整理
导读:我想在我的代码中使用一些小的C库,它可以执行以下操作: DataStore ds;ds.open("data.bin");int num=5;std::string str="some text";ds.put("key1",num);ds.put("key2",str);ds.get("key1");// returns int(5)ds.get("key2");// returns std::string("some t
我想在我的代码中使用一些小的C库,它可以执行以下操作:

DataStore ds;
ds.open("data.bin");
int num=5;
std::string str="some text";
ds.put("key1",num);
ds.put("key2",str);
ds.get("key1");// returns int(5)
ds.get("key2");// returns std::string("some text")

使用方式不必与该代码示例相同,但原则应保留(获取/设置任何类型的值并将其存储在文件blob中).该库也不应该是基于SQL的,也不是SQL包装器.什么是这样的图书馆,它们的优势是什么?

编辑:将使用最大10k键,大约.每个密钥100字节数据,文件不需要在计算机或操作系统之间移植,文件不应该使用文本编辑器编辑(如果不是,它看起来更专业)并且不必具有多线程感知.

解决方法

一个选项是使用 BerkeleyDB及其 C API,C++ API或 C++ STL API:

BekeleyDB占地面积小,快速,成熟且强大. BerkeleyDB的另一个优点是大多数脚本语言(如Python,Perl等)都绑定了它,因此您可以使用它们来操作(检查,可视化)数据.

缺点是您可以存储的所有内容都是键值对,其中键和值都是字符串(或者更确切地说是blob),因此您必须将C数据类型转换为字符串/ blob.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读