标签: data-persistence

基于磁盘的HashMap

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

谁知道什么?

java data-persistence

33
推荐指数
7
解决办法
3万
查看次数

在文件系统写入缓冲区通常刷新多少秒后?

在覆盖文件中的数据之前,我想非常确定旧数据存储在磁盘上.它可能是一个非常大的文件(多GB),因此需要就地更新.通常写入将是2 MB或更大(我的计划是使用4 KB的块大小).

而不是(或除了)调用fsync(),我想保留(而不是覆盖)磁盘上的旧数据,直到文件系统写入新数据.我不想依赖fsync()的主要原因是:大多数硬盘都是关于做fsync的.

所以我正在寻找的是文件系统,操作系统(例如Windows),硬盘驱动器的典型最大延迟是什么,直到数据写入磁盘,而不使用fsync或类似的方法.如果可能,我想拥有真实世界的数字.我不是在寻找使用fsync的建议.

我知道没有100%可靠的方法来做到这一点,但我想更好地了解操作系统和文件系统在这方面的工作方式.

到目前为止我发现的是:30秒是/ proc/sys/vm/dirty_expire_centiseconds的默认值.然后" 脏页面被刷新(写入)到磁盘...(当)因为页面保持脏 " 已经过了太多时间 "(但是我找不到默认时间).所以对于Linux来说,40秒似乎是安全的.但这适用于所有文件系统/磁盘吗?那么Windows,Android等等呢?我想得到一个适用于所有常见操作系统/文件系统/磁盘类型的答案,包括Windows,Android,常规硬盘,SSD等.

filesystems file-io file data-persistence

12
推荐指数
1
解决办法
5175
查看次数

如何在Java EE中建模?

比方说,我决定使用Java EE堆栈来实现我的企业应用程序.

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

例如,

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

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

对不起,我是这个地区的新手.我在哪里可以找到关于此主题的更多信息?

modeling java-ee data-persistence java-ee-6

11
推荐指数
1
解决办法
2652
查看次数

AngularJs的数据持久性库

Ember Js和Persistence都有一个alpha版本.AngularJs是否有类似的东西(或者它在计划中)?也许有一些与框架无关的东西?

我需要的是实际的库,它可以实现以下功能:

  1. 定义我的对象模型
  2. 定义模型之间的关系(hasMeny,foreignKey)
  3. 在客户端上启用REST调用和模型缓存

UPDATE

我找到了这些(学分归Miroslav)

data-persistence angularjs breeze

11
推荐指数
1
解决办法
7685
查看次数

使用NSCoding保存数组

我有一个小应用程序,具有一些保存功能.我有一个名为:Closet的数据模型类:

class Department: NSObject, NSCoding {
   var deptName = ""
   var managerName = ""

   var Task: [Assignment]?   // <----- assignment class is in example 2

   func encodeWithCoder(aCoder: NSCoder) {

    aCoder.encodeObject(deptName, forKey: "deptName")
    aCoder.encodeObject(managerName, forKey: "mngName")
   // aCoder.encodeObject(Task, forKey: "taskArray")

}

  required init(coder aDecoder: NSCoder) {

     super.init()

    course = aDecoder.decodeObjectForKey("deptName") as! String
    instructor = aDecoder.decodeObjectForKey("mngName") as! String
   // Task = aDecoder.decodeObjectForKey("tasKArray") as? [Assignment]

}

override init() {
    super.init()
}

}
Run Code Online (Sandbox Code Playgroud)

因此,这是主控制器数据模型,在第一个View Controller中,用户可以点击"+"按钮添加部门名称和管理员名称.问题不在于保存这个,因为我使用NSKeyedArchive成功保存并在应用程序启动时将其加载回来.

问题:

我想在这个名为Assignment的数据模型部门添加一个赋值数组,它有一个title和一个notes变量.这是作业的数据模型: …

nscoding data-persistence swift ios8

10
推荐指数
1
解决办法
8863
查看次数

需要超轻量级的java持久层

对于我正在编写的java应用程序,我需要一个超轻量级的持久层.我需要它成为一个独立的应用程序,到目前为止,我已经玩Ammentos和Persistence4J.我喜欢他们(尤其是Ammentos),但我在网上找不到太多内容,我正在寻找关于这两个或任何其他持久层的想法,你认为这些层很容易用mysql db部署.

我过去只使用过hibernate所以我正在寻找一种只允许我进行简单保存和检索的替代方案.不需要支持任何复杂的查询.

java persistence data-persistence

9
推荐指数
2
解决办法
5607
查看次数

Microsoft Orleans 中的数据持久性

我是 Microsoft Orleans 的新手,在阅读文档时我发现了这一点:

... Grain 持久性使用可扩展的插件模型,以便可以使用任何数据库的存储提供程序。此持久性模型的设计是为了简单性,并不旨在涵盖所有数据访问模式。Grains还可以直接访问数据库,而不需要使用Grain持久化模型。 这里

但在文档的其余部分中,仅描述了使用存储提供程序进行粒度持久性的方法。但对于这些提供程序,我仍然想知道如何像关系数据库中那样执行复杂的请求(使用 JOIN、GROUP BY、ORDER BY 等)。

所以我担心的是:

使用直接访问关系数据库进行 Grain 持久化的优点和缺点是什么?

.net data-persistence orleans

8
推荐指数
1
解决办法
1385
查看次数

Perl:将新值重新分配给标量会覆盖RAM中的当前内容吗?

我正在使用Perl进行与安全相关的任务,并且想知道何时发表如下声明:

$test = "new value"

执行,是$test在RAM中覆盖创建的旧值?

如果没有,有没有办法强迫这种情况发生?

variables perl scalar data-persistence

7
推荐指数
2
解决办法
1736
查看次数

有哪些可用的Python模块可以保存和加载数据?

StackOverflow上有许多分散的帖子,关于用于保存和加载数据的Python模块.

我自己熟悉jsonpickle,我也听说过pytables.那里可能还有更多.此外,每个模块似乎都符合某种目的,并且有自己的限制(例如,如果工作的话,加载一个带有泡菜的大型列表或字典需要很长时间).因此,对可能性进行适当的概述会很好.

然后,您可以帮助提供用于保存和加载数据的全面模块列表,描述每个模块:

  • 这个模块的一般用途是什么,
  • 它的极限,
  • 你为什么选择这个模块呢?

python data-storage python-module data-persistence

7
推荐指数
1
解决办法
691
查看次数

如何在关系数据库中存储子项的链接树?

我有一个带有子节点(节点)的自定义LinkedTree,节点具有邻接关系,即每个节点与上一个节点和下一个节点链接.这个LinkedTree非常重,很大,可能包含数百万个节点.

这是一个代码示例:

package tree;

import java.io.Serializable;

public class LinkedTree<E> implements Serializable {

    private int size = 0;
    private Node<E> first;
    private Node<E> last;
    private LinkedTree<E> children;

    public LinkedTree() {
        children = new LinkedTree<>();
    }

    public LinkedTree(LinkedTree<E> children) {
        this.children = children;
    }

    public void add(E element) {

        final Node<E> l = last;
        final Node<E> newNode = new Node<>(l, element, null);
        last = newNode;
        if (l == null)
            first = newNode;
        else
            l.next = newNode;
        size++;
    }

    public void remove(E element) …
Run Code Online (Sandbox Code Playgroud)

java mysql database tree data-persistence

7
推荐指数
1
解决办法
267
查看次数