私がたくさんの(何百もの)大きなpython辞書を持っているとしましょう。ピクルスのファイルサイズは約2Mbです。この辞書のデータを使用してグラフを描画したいので、それらをすべてロードする必要があります。データを保存する最も効率的な方法は何ですか? 別のキャッシュ ツールを使用する必要がありますか? これは、私が今このタスクをどのように解決しているかです:
- すべての私の辞書を漬けます。漬けるだけ(口述)
- ピクルされた文字列を redis にロードします。redis.set(キー、ディクテーション)
ユーザーがチャートを必要とするとき、私は配列を作成し、redis からのピクルされていないデータを入力します。そのように:
array = [] for i in range(iteration_count): array.append(unpickle(redis.get(key)))
今、私は両方の問題を抱えています.メモリに関しては、配列が非常に大きいためですが、重要ではなく、解決するのは簡単です. 主な問題 - 速度。多くのオブジェクトが 0.3 秒以上解凍されます。解凍時間が 1 秒を超えるボトルネックさえあります。そして、この文字列を redis から取得するのはかなり高価です (0.01 秒以上)。たくさんのオブジェクトがあると、ユーザーは何秒も待たなければなりません。