serialization - 为内存中的数据结构增加持久性

标签 serialization data-structures

您可以采用哪些流行的技术来增加内存中数据结构的持久性(即,如果进程崩溃,则可以保留该数据结构上所有以前执行的操作)?

如果我的数据结构只包含一个元组列表,那么我只需将它们存储在SQL DB中,就可以免费获得持久性。但是,如果我的数据结构是图还是树,该怎么办?

我能想到的一件事是将所有操作明确地记录到磁盘(仅追加日志),并且在发生崩溃的情况下,重播日志以保留先前的状态。如果日志太大,则将执行压缩步骤。我猜这是数据库引擎内部为了持久性所做的事情(检查点就是这个过程的名称)?

顺便说一句,这不是整个数据集都不适合内存的情况。

最佳答案

您可能需要尝试object prevalence engine。对于.NET,您可能需要尝试Bamboo.Prevalence,它是名为Prevayler for Java的类似引擎的端口。

关于serialization - 为内存中的数据结构增加持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/167063/

相关文章:

c - 为什么我在查找二叉搜索树的高度时得到不同的输出?

java - 是否可以在事先不知道输入大小的情况下实现堆?

hadoop - Spark rawcomparator 上序列化对象的比较

java - 用于保存并随后组合稀疏数据的数据结构

java - 这两种对BST插入操作的实现有什么区别?

java - 并发,随机化/改组队列?

java - 属性 "thenComparing": 的 setter 定义冲突

java - 反序列化对象 - 类已更改

java - 关于 Hadoop 中的序列化 : what are the advantages of serialization?

c# - WCF CultureInfo 类型化 DataMember 序列化 CommunicationException