2017-03-20 9 views
1

キャッシング機構を使用してクエリ結果の時間を最適化するため、ゆっくりと変化する大きなデータセットを作成します。たとえば、最後の360日間のデータに関するメトリックを表示したい場合は、最後のクエリ結果を再利用できるため、データベースを再度クエリする必要はありません。 んMongoDBはネイティブキャッシングをサポートしたり、私が言及したhereMongoDBでのクエリ結果のキャッシング

EDITとして別のデータベース、例えばRedisのを使用する必要があります:私は、外部のキャッシュシステムについての質問と後期問題の応答は固有だったので、私の質問はCaching repeating query results in MongoDB異なっていますMongoDBのとトルネード

+0

Mongodbにはネイティブのキャッシュシステムがありません。あなたはキャッシングのために他のシステムを使わなければなりません。あるいはあなた自身でmongodb上にキャッシングシステムを作る必要があります。最良の解決策は、最初の選択肢であり、そのために最もよく知られているシステムはRedisです。 –

+0

[MongoDBでクエリ結果を繰り返しキャッシュする]の可能性のある複製(0120-328-304) – LuFFy

+0

@LuFFy私は既に他の質問を見ました。応答はMongoDBとTornadoでの作業に特有でした。私はこの質問をすることを決めた理由のキャッシングシステムについて言及していませんでした。 – Nabil

答えて

0

での作業はモーター(モンゴ+トルネード)パッケージの著者は、ここでのカテゴリの彼のリストをキャッシュする例を示します:http://emptysquare.net/blog/refactoring-tornado-code-with-gen-engine/

基本的に、彼は、カテゴリのグローバルリストを定義し、にデータベースを照会しますそれを記入してください。ページにカテゴリが必要なときはいつでも、リストをチェックします:存在する場合はそれを使用し、そうでなければ再度クエリーして埋めます。データベースに挿入するたびにリストを無効にするように設定していますあなたの使用状況に応じて、グローバルタイムアウト変数を作成して、次に再クエリする必要があるときを追跡することができます。あなたが何か複雑なことをしているなら、これは手に負えなくなるかもしれませんが、それが最新の投稿や何かのリストであれば、それはいいと思います。