要件 : 整数、文字列、リスト、辞書などの基本的なデータ型を含む 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/ ピクルスなどのオプションも検討しますか?