Требование: Объекты Python с 2-3 уровнями вложенности, содержащими базовые типы данных, такие как целые числа, строки, списки и диктофоны. (нет дат и т. Д.), Необходимо сохранить как json в redis против ключа. Каковы наилучшие методы сжатия json в качестве строки для небольшого объема памяти. Объекты-мишени не очень большие, в среднем 1000 маленьких элементов, или около 15000 символов при преобразовании в JSON.Каков наилучший способ сжать json для хранения в хранилище на основе памяти, например redis или memcache?
например.
>>> my_dict
{'details': {'1': {'age': 13, 'name': 'dhruv'}, '2': {'age': 15, 'name': 'Matt'}}, 'members': ['1', '2']}
>>> json.dumps(my_dict)
'{"details": {"1": {"age": 13, "name": "dhruv"}, "2": {"age": 15, "name": "Matt"}}, "members": ["1", "2"]}'
### SOME BASIC COMPACTION ###
>>> json.dumps(my_dict, separators=(',',':'))
'{"details":{"1":{"age":13,"name":"dhruv"},"2":{"age":15,"name":"Matt"}},"members":["1","2"]}'
1/Существуют ли какие-либо другие лучшие способы сжатия JSON, чтобы сохранить память в Redis (также обеспечивая легкий вес декодирования впоследствии).
2/Насколько хорошим кандидатом будет msgpack [http://msgpack.org/]?
3/Должен ли я рассматривать такие варианты, как рассол?
Каковы требования вашего приложения? вам нужна производительность? надежность, согласованность и т. д.? Вы могли бы рассмотреть альтернативы redis? – drekyn