- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些 Moose 对象和其他一些我想序列化的简单哈希对象(哈希、数组)。
起初,我使用了一个简单的
my $obj_store_file = nstore($obj);
my $obj = retrieve($obj_store_file);
MooseX::Storage
和
KiokuDB
.我尝试使用它们来享受它们的一些好处,但是:
MooseX::Storage
似乎重新创建了多次引用的对象。例如,我的一个序列化对象包含一些属性,每个属性都引用另一个对象的同一个实例。在序列化之前,所有这些引用显然是相同的——它们都指向同一个对象。使用 MooseX::Storage
进行序列化/反序列化后,这个曾经的单个对象被复制,每个引用都指向该对象的另一个实例。有人告诉我 MooseX::Storage
不适合表示对象图,我可能想尝试 KiokuDB
. KiokuDB
对我的需求来说太过分了。我不需要数据库可以提供的所有花哨的东西。不幸的是,由于我的一个对象非常大并且在使用默认值进行序列化时会占用内存,因此我似乎必须编写自定义序列化程序或单独存储其“数据”部分,然后编写服装 KiokuX::Module
...再次,相当矫枉过正。 KiokuDB
有一些好处。 (尤其是它维护一个对象图的事实),也许还有
MooseX::Storage
(虽然我真的找不到后者)。但是,鉴于这些好处对我来说并没有真正的用处,是否有任何理由
不是 使用可存储或 YAML?
最佳答案
我的经验是,这取决于您为什么要序列化数据。我喜欢可存储的程序状态,包括窗口大小/位置等内容。我更喜欢 YAML 用于配置数据或您可能想与应用程序的另一个副本交换的任何内容。 (即用户之间共享——使用不同版本的 Perl 或 Storable 的用户可能无法读取 Storable 文件。)Storable 支持对象图(假设卡住/解冻正确完成)。我不确定 YAML。
关于perl - 是否有理由不使用 Storable 或 YAML 序列化我的(Moose)对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4030373/
您好,我希望我的下一个输出(在本例中就是字母)在上一个输出之后输出 8 个空格。这适用于第一个字符,但之后的 printf 语句不起作用。它在第一个 printf 语句之后立即打印,我试图将其设置为
我想知道制作 std::list<>::splice 背后的基本原理是什么使引用被拼接到新容器中的子序列的迭代器无效。这对我来说有点不合逻辑,尤其是考虑到标准 std::container::swap
谁能告诉我为什么我应该使用 Azure Function 输出绑定(bind)(例如 SendGrid 或 Twilio)而不是仅仅在我的 C# 函数中显式使用适当的 SDK(例如 Sendgrid
我们在当前项目中使用 React 和 TypeScript,我遇到了以下行为。 import React, { Component } from 'react'; 我将上面的行替换为下面的行,因为它似
我是一名优秀的程序员,十分优秀!