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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容