问题标签 [data-persistence]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
318 浏览

python - 将数据保存为 python 模块是否合理?

这是我为一个项目所做的。我有一些数据结构基本上是字典,其中包含一些对数据进行操作的方法。当我将它们保存到磁盘时,我将它们作为代码写入 .py 文件,当作为模块导入时,会将相同的数据加载到这样的数据结构中。

这合理吗?有什么大的缺点吗?我看到的好处是当我想对保存的数据进行操作时,我可以快速导入我需要的模块。此外,这些模块可以与应用程序的其余部分分开使用,因为您不需要单独的解析器或加载器功能。

0 投票
3 回答
533 浏览

iphone - iPhone 应用程序中的数据持久性

在开发我的第一个严肃的 iPhone 应用程序时(意思是我想将它放到 AppStore 上),我需要一种很好的方式来表示我的数据。我(我认为是愚蠢的)决定使用类来表示我的数据,而不是使用核心数据。

我创建了三个类,MMDot、MMShowMovement 和 MMShow。MMShowMovement 在数组中保存了 MMDot 类的实例,因为 MMShow 保存了 MMShowMovement 的实例。听起来是个不错的方法,每个类都有很多与之相关的逻辑,所以我认为类似乎是表示所有这些数据的好方法。

我的问题是,是否有一种简单的方法可以保存这些类的实例,以便在重新打开应用程序后恢复数据?我使用 NSKeyedArchiver 在 OS X 上制作了应用程序,在 iPhone 上会不会类似?重新开始使用 Core Data 会更容易吗(这些对象非常复杂,尤其是具有大约 15 个实例变量的 MMDot,现在我看了一下,可能没那么复杂)?

我在这里真的很茫然。

0 投票
2 回答
1621 浏览

php - PhP/MySQL 在页面之间存储用户搜索,以便用户可以返回它们

我正在编写一个 php-mysql 应用程序。该应用程序允许用户对数据库运行搜索。运行搜索时,如果用户在检查了它提出的项目后单击后退按钮返回到它,他们会被询问是否要重新发送查询(它使用 post)。这将在数​​据库中重新运行搜索。使用 get 不会导致请求重新发布 - 但它仍会再次运行搜索。

有没有办法存储搜索并调用它,而无需在数据库中重新运行它?

这可以将其保存在数据库中,或者以某种方式保存在 php 中——也许是会话?这些搜索可能会产生很多数据,我觉得对于会话来说可能太多了。

我能想象的另一种方法是将它存储在数据库中,在某种临时表中。使用我打算查询的列创建表,然后选择插入。然后从表中选择 *。这似乎也是一个坏主意。许多动态创建的临时表四处飘荡。

我知道这是可以做到的。保存的搜索是您在许多 Web 应用程序中看到的内容。那么一般是怎么做的呢?

0 投票
1 回答
489 浏览

iphone - 是否可以使用对象归档存储多个对象?

好吧,当然有可能,这没问题。在我的代码中,我使用了多个对象,它们需要是数据持久的。为此,我使用了对象编码并将它们存储在数据文件中。如:

然后在另一段代码中进一步:

这可以保存对象。我知道它有效,因为我可以使用以下代码将它们取出:

凉爽的!所以现在我可以存储我的对象,并将它们读出。 所以这就是问题所在。 在另一个班级中,我取出我正在存储的一个对象并使用它。不是全部,我只念了一个。然后我在更改设置后再次保存它。但我只保存它:

完成此操作后,我存储的所有其余对象都将被删除。现在我很困惑,因为我以为我只是在编辑一键“SinglePlayer”,但显然这会以某种方式删除其余部分?这应该会发生吗?我在发布存档程序时遇到了一些问题,这会不会影响它……我认为不会。有没有人对此有所了解,因为如果我只想编辑其中一个对象,我不想取出所有对象并重新编码它们......

谢谢你的帮助!

0 投票
2 回答
2878 浏览

jakarta-ee - 如何在 Java EE 中建模?

假设,我决定为我的企业应用程序使用 Java EE 堆栈。

现在,对于域建模(或:用于设计 MVC 的 M),我可以安全地假设和使用哪些 API,以及我应该远离哪些……比如说,通过抽象层?

例如,

  1. 我应该继续调用 Hibernate/JPA API 来乱扔我的模型吗?或者,我应该构建一个抽象......一个我自己的持久层以避免对这两个特定的持久性 API 进行硬编码?为什么我要问这个:几年前,这个 Kodo API 被 Hibernate 取代了。如果设计了一个持久层并针对该层对模型的其余部分进行编码(而不是通过调用特定的供应商 API 来乱扔模型),它将允许一个人(相对)轻松地从 Kodo 切换到 Hibernate 再到 xyz。

  2. 是否建议在域模型中积极使用持久性供应商提供的 *QL?我不知道由于大量使用类似 HQL 的语言而引起的任何实际问题(如性能、可伸缩性、可移植性等)。为什么问这个问题:我想尽可能避免编写自定义代码,因为这可以通过比 SQL 更便携的查询语言来完成。

对不起,但我是这个领域的新手。我在哪里可以找到有关此主题的更多信息?

0 投票
8 回答
31316 浏览

java - 基于磁盘的 HashMap

Java 是否有(或是否有可用的库)允许我拥有基于磁盘的 HashMap?它不需要是原子的或任何东西,但它将通过多个线程访问,并且如果两个线程同时访问同一个元素,则不应崩溃。

有人知道吗?

0 投票
1 回答
141 浏览

blackberry - 是否可以使用 Blackberry Persistance 选项实现轻量级数据库?

首先,我想解释一下为什么我想使用替代的 Blackberry Persistance 选项而不是 Blackberry 数据库本身,比如 SQLite。原因是我正在设计的应用程序,我希望它用于所有以前版本的 Blackberry,而不仅仅是那些具有 OS 5.0 或更高版本的应用程序。

现在,回到实际问题,我有一个数据库,我想复制它以在 Blackberry 应用程序中使用。该数据库有 8 个表,每个表大约有 12 个不同的列。其中一张表有 1000 行。现在,如果我要为 Blackberry 应用程序实现这个 DB,请记住它适用于所有版本的 Blackberry,那么实现它的最佳方法是什么?

0 投票
2 回答
680 浏览

asp.net - ASP.NET 服务器数据持久性

我不太确定这个问题应该如何表达,所以如果我问错了,请耐心等待。

我正在编写一个使用 VB 作为语言背后的代码的 ASP.NET 应用程序。我有一个连接到数据库的数据访问类来运行查询(当然是参数化的),还有另一个类来执行验证任务——我从我的 aspx 页面访问这个类。

我想要的是能够存储数据服务器端并等待用户根据数据的有效性从几个选项中进行选择。但是除非我的理解完全不正确,否则当多个用户连接时,服务器上的持久数据对象会出现问题吗?

我的最终目标是,一旦数据经过验证,最终用户就无法修改它。目前我正在验证数据,但我仍然必须在用户说好的之后从网络表单中检索它,这显然留下了意外(不太可能)或故意(也不太可能使用)注入不良数据的可能性,但我不想冒险)。

所以我完全不理解吗?如果是这样,有人可以向我指出一个资源,该资源提供一些关于在服务器上保留持久数据的说明,或者提供说明?

谢谢!


具体示例:

我们最近聘请了检查员 Gadget 为路标检查员插入数据,他们巡视高速公路路标,确保没有一个路标被嚼泡泡糖或被盗,他们通常是青年市议会的正直成员。

如果 Gadget 可以证明他的勇气,那么他可能会被提升去做实际的标志检查。目前,他唯一的工作就是访问这个 Intranet 站点,输入有关最近检查的信息。安装和检查标志的区、县、路线#、路段和日期。

当然,我们这些 80 年代末还活着的人都熟悉 Gadgets 的无能。因此,该网站几乎可以作为我们可以制作的小工具证明。区/县/路都是通过下拉列表填写的,他只需要手动输入路段的开始和结束以及日期。有时他会摸索鼠标并最终交换部分的开头和结尾,doh!因此文本变为红色以提醒他注意错误。不幸的是,他今天选择戴上他的防红太阳镜,将所有红色变成黑色。好吧,在尝试提交数据后,它会向他显示一条错误消息,告诉他在哪里以及需要修复什么。不幸的是,他用手指敲了敲键盘,没有输入 1.337,而是输入了 13.37(英里)——而这条路只有 10 英里长!出色地,现在会弹出一条消息(模态 div)并告诉他道路的实际里程为 0-10,并且他的输入将结合道路的三个部分。然后他有三个按钮可供选择。Cancel 允许他去修改他的数据,Constrain 将 13.37 转换为 10,而 Override 将允许他输入该数据。

“约扎!” 小工具惊呼一声,点击取消返回并修复他的错误。好吧,他正确输入的下一组数据,因此弹出了一条确认消息,显示他将要进行的更改并询问是否可以继续。好吧,不幸的是,Inspector Gadget 打翻了他的咖啡杯,碎屑散落在他的桌子上。在他匆忙清理它之前,他点击了“确定”,但在他的 Go-Go-Gadget 电磁铁不小心翻转了他电脑上的几个位之前,将县的表格从 ARKANSAS 更改为 AKRSANAS,呵呵!

如果数据存储在整个校园的服务器上,并且传递的唯一信息是“确定”或“取消”,则可以避免这种情况。


当然,我总是可以在“OK”之后再次验证,但这似乎是一个 hacky 解决方法。

无论如何,我希望这能澄清!

0 投票
1 回答
268 浏览

asp.net - 如何在回发中保留列表内容?

在我的网页的页面加载事件中,我用结构的内容填充列表

问题是在回发时列表的内容会丢失。

那么,如何在 ASP.NET 中保留列表的内容?

0 投票
2 回答
3215 浏览

asp.net - 如何读回存储在会话中的对象?

首先,这里是负载部分。

问题是我如何读回存储在 Session 中的列表内容?我的意思是...