我需要编写一个脚本来管理本地存储中文档的冲突版本。我目前正在考虑两种替代方案,但无法确定哪一种更具可扩展性。
我的文档将存储为 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) 存储在现有路径中并将版本添加为第二个 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"}
问题:
就可扩展性和存在的许多不同版本而言,哪一个更有意义?