javascript - 我应该按 document_id 还是 document_id_version 在 localstorage 中存储文档的多个版本?

标签 javascript version-control local-storage revisions

我需要编写一个脚本来管理本地存储中文档的冲突版本。我目前正在考虑两种替代方案,但难以决定哪一种更具可扩展性。

我的文档将以 JSON 格式存储,并有一个 id 和一个 revision 来标识版本。

目前我正在本地存储中创建一个路径,如下所示:

PATH/TO/DOCUMENT/id

在此路径下,文档以 JSON 格式存储

{"id":"abc","version":"1-a","content":"foo"}

我正在使用 POST、PUT(更新)、GET 和 REMOVE。 POST/PUT 需要 idversion 而 GET/REMOVE 只需要 id

要允许冲突版本存在于本地存储中我不确定是否要

a) 存储在现有路径 并将版本添加为2nd JSON 字符串,如下所示:

PATH/TO/DOCUMENT/id   {"id":"abc","version":"1-a","content":"foo"},
                      {"id":"abc","version":"2-b","content":"foodforthought"}

b) 存储在path.id 并保留一个“单个文件

PATH/TO/DOCUMENT/id.1-a   {"id":"abc","version":"1-a","content":"foo"}
PATH/TO/DOCUMENT/id.2-b   {"id":"abc","version":"2-b","content":"foodforthought"}

问题:
哪一个在可扩展性和存在许多不同版本方面更有意义?

最佳答案

Which one makes more sense in terms of scalability and a lot of different versions to exist?

选项 B。在这里,您可以读取/写入单个文档版本,而无需将整个 JSON 字符串(然后是对象,当涉及到操作时)加载到内存中。尤其是当涉及到大量且庞大的文档时,这将为您节省一些时间。

但是,如果您有一个大型文档的多个版本,彼此之间差别不大,那么在性能和内存使用方面,使用 incremental 存储它们可能会更好。或 differential版本控制,这在一个“JSON 文件”中更有意义。

关于javascript - 我应该按 document_id 还是 document_id_version 在 localstorage 中存储文档的多个版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13858068/

相关文章:

linux - Linux 镜像的版本控制/配置管理

javascript - Meteor email.send() 来自现场用途

javascript - JavaScript 数组元素只不过是数组对象属性吗?

javascript - 如何在 JavaScript 或 Java 中将常规字符串格式(ascii?)转换为 UTF-7?

javascript - Highcharts 中的空白页

tfs - 是否有 Visual Studio Team System 和 Team Foundation Server 的替代品?

eclipse - m2e 和项目元数据文件

javascript - 本地存储没有存储多个slideToggle的状态

javascript - 我的 switch 表单 jquery 脚本出现问题

javascript - 根据 localStorage bool 值在 if 条件下处理 addEventListener