在我开始编写代码来处理这个问题之前,我想要一个关于什么是最佳方法的反馈。
这个问题背后的背景是我想为C#对象创建某种存储,以防万一程序崩溃并且数据丢失。
我想将 SERIALIZED 对象存储到数据库中,然后能够从ODP.NET中查询它并成功反序列化并将其转换为同一个对象。
顺便说一下,序列化对象的数据在序列化后大约是 50 MEGABYTES 。
用法: 每天都会存储一个序列化对象,每天最多可以检索10次。
我的问题是,如果有人以前这样做过的话;
让我知道你们的想法!
谢谢!
答案 0 :(得分:1)
如果您的对象主要是文本,那么在序列化数据之后(假设所有属性都可以序列化,可以使用XML或JSON),我建议将数据压缩为字节数组并将其存储为二进制数据。当你检索它时,你只需解压缩然后反序列化它。文本拉得非常好,特别是XML,所以你可以将50MB降低到10MB或更低。
根据您的评论,压缩绝对是值得的。如果你每天只增加10MB左右,听起来它不会对你的数据库产生负面影响 - 每年只需几GB。