2014-12-07 46 views
-1

Unqlite NoSQL引擎具有函数unqlite_kv_store(),该函数需要存储一个键和一个值。有没有办法将一个C++容器(例如list,vector,map,array)存储为一个值,然后在不使用文档格式的情况下检索它?如何将C++容器作为Unqlite中的值存储?

回答

0

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

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

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

但是,关系数据库的一个更好的解决方案是将容器存储为单独的表;或附加到一个表。查找“关键数据库”。也研究“数据库规范化”。

相关问题