如何在Unqlite中将C ++容器存储为值?

时间:2014-12-07 16:14:21

标签: c++ database unqlite

Unqlite NoSQL引擎有一个函数unqlite_kv_store(),它接受一个键和一个值来存储。有没有办法将C ++容器(例如列表,矢量,地图,数组)存储为值,然后在不使用文档格式的情况下检索它?

1 个答案:

答案 0 :(得分:0)

除非容器的元素是连续的,即没有链接,没有指针,否则你不能将它存储在程序外部的任何内容中。

问题是您的程序或其数据可能会加载到内存中的不同地址。您保存在数据库中的地址(指针)不再有效。

一种方法是将项目存储在数组中,然后将数组存储为BLOB类型。

但是,关系数据库的更好解决方案是将容器存储为单独的表;或附加到单个表。查找"数据库中的密钥"。还要研究数据库规范化"。