いくつかのファイルに基づいて重い処理を行うソフトウェアがあります。その過程で SQL Server のいくつかのテーブルにクエリを実行する必要があり、これにより DB とアプリケーションのパフォーマンスが低下しています。(他のアプリケーションは同じテーブルを使用します)。
クエリとコードを最適化した後、結果は改善されましたが、十分ではありませんでした。調査の結果、いくつかのクエリ結果をキャッシュするという解決策にたどり着きました。私の考えは、処理中のファイルが必要とする 1 つの特定のテーブル (オーバーヘッドとして識別される) 行をキャッシュすることです。
私は AppCache Fabric を使用することを考えていました (私は MS スタックを使用しています)、いくつかのテストを行い、小さなオブジェクトに大量のメモリを使用しました (appcache サービスは、オブジェクトなしで最大 350MB の RAM を使用しています)。しかし、これらの結果テーブルでいくつかのクエリを作成する必要があります ( lastname、ssn、birthdateなどの検索など)。
2 番目のオプションは、キャッシュ ストアとしての MongoDb です。私はこれについて調査しましたが、私が読んだほとんどの人は memcached または Redis の使用を推奨していますが、私は Windows サーバーを使用しており、公式にはサポートされていません。
この場合、キャッシュストアとしてmongoを使用するのは良いアプローチですか? または、AppFabric キャッシング + タグ検索の方が優れていますか?