1

したがって、特定のデータ ソースからデータを返す Web サービスがあります。一部のデータ取得には非常に時間がかかります (>15 秒)。これは、ajax 呼び出しを介して Web ページにデータを提供している間は許容できません。

次の方法でデータをキャッシュできると考えていました。

X 分/時間ごとにデルタを取得し、変数を更新する Global.asax でワーカー スレッドを実行します。変数は Web サービスで返されます。私の頭に浮かんだ最善の解決策は、アプリケーション辞書にデータを保存することでした。

基本的に私の質問は、私はそれをすべきですか?(100MB を超える可能性のあるデータについて話している) それを行うことで影響はありますか? もしそうなら、どのような解決策が最善でしょうか?

4

2 に答える 2

0

サーバーのメモリが不足している場合は自動的にフラッシュされるため、この場合はキャッシュを使用したほうがよいでしょう。

こちらの「アプリケーションに関する考慮事項」を参照してください: https://msdn.microsoft.com/en-us/library/ms178594.aspx

于 2016-09-18T16:33:02.453 に答える
0

それは本当にあなたのデータの性質に依存します。キャッシュは、あまり頻繁に変更されず、やや静的なデータに最適なソリューションです。動的な (頻繁に変更される) データに短時間のキャッシュを使用することもできますが、ユーザーが少し古いデータを使用している場合は問題ありません。.Net フレームワークには CacheManager クラスがあり、キャッシュされたデータの有効期限を定義できます。すべてのデータを読み取ってメモリに保存する代わりに、.Net キャッシュ マネージャーを使用して、要求されたデータを x 分間キャッシュするだけです。

独自のコードを記述して、キャッシュされたデータをいつ、どのように更新するかについて非常に創造的になることができます。たとえば、キャッシュされたデータにカウンター プロパティを追加し、データがキャッシュからアクセスされた回数をカウントしてから、データを更新するか、有効期限のタイムスタンプを延長してキャッシュされたデータの有効期間を延長することができます。

開始するには、このリンクをご覧ください: http://cachemanager.net/Documentation/Index/cachemanager_getting_started

于 2016-09-18T16:41:35.427 に答える