要求:具有 2-3 级嵌套的 Python 对象,其中包含整数、字符串、列表和字典等基本数据类型。(没有日期等),需要在 redis 中针对密钥存储为 json。将 json 压缩为字符串以降低内存占用的最佳方法是什么。目标对象不是很大,平均有 1000 个小元素,转换为 JSON 后大约有 15000 个字符。
例如。
>>> 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/ 我也应该考虑泡菜之类的选择吗?