gpt4 book ai didi

c# - 存储大对象

转载 作者:行者123 更新时间:2023-11-30 22:28:06 26 4
gpt4 key购买 nike

存储大对象的最佳方式是什么?在我的例子中,它类似于树或链表。

我尝试了以下方法:

1) 关系数据库

不利于树结构。

2) 文档数据库

我尝试了 RavenDB,但是当我调用 SaveChanges 方法时它引发了 System.OutOfMemory 异常

3) .Net 序列化

运行速度很慢

4) Protocol Buffer

无法反序列化List<List<>>类型,我不确定链接结构。

那么……?

最佳答案

你提到了 protobuf - 我经常将 protobuf-net 用于大小为数百兆字节的对象,但是:它确实需要适本地写成 DTO,理想情况下写成树(不是双向图,尽管那在某些情况下支持使用)。

在双向链表的情况下,这可能意味着:将“先前”链接标记为序列化,然后在反序列化后的回调中进行修复,以正确设置“以前的”链接。通常很容易。

您是正确的,因为它目前不支持嵌套列表。这通常是微不足道的,通过使用一个列表一个列表来回避,但我很想把它隐式化——也就是说,库应该能够模拟它,而不需要你改变你的模型。如果您对我这样做感兴趣,请告诉我。

如果您有想要序列化的模型的具体示例,并希望我提供指导,请告诉我 - 如果您不能在此处发布,那么我的电子邮件在我的个人资料中。完全取决于您。

关于c# - 存储大对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10959530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com