Чтобы объяснить, посмотреть на объект ниже, как она меняется:Как управлять версией объекта?
obj = {'a': 1, 'b': 2} // Version 1
obj['a'] = 2 // Version 2
obj['c'] = 3 // Version 3
Я хочу, чтобы иметь возможность получить любой из этих версий объекта, например, получить obj
с версии 2. Я не хочу хранить копии всего объекта каждый раз, когда хочу обновить один ключ.
Как я могу достичь этой функциональности?
Фактический объект, который я пытаюсь сделать, имеет около 500 000 ключей. Вот почему я не хочу хранить все копии при каждом обновлении. Мой предпочтительный язык, в котором должно быть закодировано это теоретическое решение, - python
или javascript
, но я возьму что угодно.
Где вы хотите сохранить, что и как вы хотите, чтобы получить его? Когда вы говорите «контроль версий», моя первая мысль - git. Неважно, будет ли это json или какой-либо другой формат. И это спасет только различия. Опять же, когда вы говорите 500 000 имен: пары значений, я бы сказал, что база данных звучит как хорошая идея. – zvone
Обратите внимание: объекты, о которых вы говорите, не являются JSON. То, что вы определяете и изменяете в этом примере кода, является объектом JavaScript; не JSON. NB: StackOverfow не предназначен для запроса предложений о библиотеках (см. Http://stackoverflow.com/help/on-topic). – trincot
@zvone, у меня в настоящее время есть система баз данных, которая хранит журналы и данные контроля версий прилично, но я нахожу это очень медленным. Я искал алгоритм в коде, который мог бы управлять объектами json, а затем просто хранить json-объект в целом в базе данных. – josneville