【发布时间】:2023-03-22 01:59:02
【问题描述】:
我正在尝试实施来自this question 的已接受答案以生成 ID 并使用 XML 文件存储我的内容和内容 ID 表。
这个想法是将每个内容项存储(序列化)为 my-content-item-slug-374871.xml,其中数字是内容项将从 IDs 表中给出的随机 ID(从那些尚未采取)。我的要求是 ID 是 100000 到 999999 之间的六位数字(显示要求),所以实际上我们只能创建 899999 个内容项,但这应该足够了。如果你想知道为什么会有这样的要求,我只能说我不想要从零开始的 ID,也不想要像 GUID 这样的 ID(我知道这会更容易创建和维护),因为 ID 将是在 MVC 路由中使用(很像 SO 的 URL)。
所以对于初学者,我决定创建一个字典,其中 key 是 ID,value 决定是否使用它(如果使用则为 true,如果可用则为 false)。然后我使用 DataContractSerializer 将此对象序列化为 XML 文件。
文件长 72MB,我认为问题开始出现了。首先,我刚尝试在 VS2010、记事本、写字板和 IE 中打开这个文件,它们都崩溃了,内存消耗猛增。但是该应用程序似乎没有问题。我仍然认为这将是巨大的内存和 CPU 消耗,性能会受到影响。
我的假设是否正确,如果正确,我还有哪些其他选择?
【问题讨论】:
-
Notepad++ 可能能够保存该文件而不会崩溃。
标签: xml serialization random xml-serialization storage