我需要编写一个脚本来管理本地存储中文档的冲突版本。我目前正在考虑两种替代方案,但难以决定哪一种更具可扩展性。
我的文档将以 JSON 格式存储,并有一个 id
和一个 revision
来标识版本。
目前我正在本地存储中创建一个路径,如下所示:
PATH/TO/DOCUMENT/id
在此路径下,文档以 JSON 格式存储
{"id":"abc","version":"1-a","content":"foo"}
我正在使用 POST、PUT(更新)、GET 和 REMOVE。 POST/PUT 需要 id
和 version
而 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/