2017-01-18 6 views
0

私は複雑なオブジェクトを取得する必要があるいくつかの計算がある小さなデモのdjangoアプリケーションを作成しています。 Pickleを使用してオブジェクトをファイルに保存しました。今私は、すべての要求のために取得されないようにオブジェクトをメモリに保持したい。どこにオブジェクトをロードしてそこに残ることができ、どんな要求でも利用できる。計算に必要なリクエストには、いくつかのパラメータが渡されます。オブジェクトはモデルとは関係ありません。Django pickleオブジェクトは、要求に応じて計算のために保存されました

答えて

0

caching backendの利用を検討してください。この目的のためのもので、探している永続性を提供します。魅力的な選択肢は、いくつかのpythonファイルで確立されたグローバル変数かもしれませんが、その値が変更されたときにその値が必ずしも要求間で一致するとは限りません。

プロダクションキャッシングの理想的なソリューションは、最高のパフォーマンスを提供するMemcachedまたはRedisのようなキャッシングサーバーを利用します。ただし、これらのソリューションは、データベースまたはWebサーバーと同様のサーバーソフトウェアであるため、インストールおよび必要なレベルに応じてメンテナンスが必要です。

デモアプリケーションでは、アプリケーションにすでに使用しているデータベースを超えて、重要な追加要件がないため、データベースのキャッシュバックエンドが最適かもしれません。

関連する問題