Asp.net-wp-caching

提供:Dev Guides
移動先:案内検索

ASP.NET WP-キャッシュ

誰かがあなたのサイトからページをリクエストすると、ウェブサーバーはリクエストを満たすために何らかの作業をしなければなりません。 そのため、サーバーは、データベースからデータを取得するなど、長時間かかるタスクを実行する必要がある場合があります。

  • 場合によっては、サイトで大量のトラフィックが発生すると、Webサーバーに複雑なタスクまたは遅いタスクを実行させる一連の個々のリクエストが、多くの作業を追加することになります。
  • これは、最終的にサイトのパフォーマンスに影響を与える可能性があります。
  • Webサイトのパフォーマンスを改善する1つの方法は、データをキャッシュすることです。
  • サイトが同じ情報を繰り返しリクエストし、情報を各人ごとに変更する必要がなく、時間に依存しない場合、再取得または再計算する代わりに、一度データを取得して保存できます結果。
  • 次回その情報の要求が来たときに、キャッシュから取得するだけです。

データをキャッシュする方法は?

ページが最初にロードされたときにデータをキャッシュする簡単な例を見てみましょう。 そこで、 WebCache.cshtml という名前の新しいCSHTMLファイルを作成し、次のコードを置き換えます。

@{
   var cacheItemKey = "CachedTime";
   var cacheHit = true;
   var time = WebCache.Get(cacheItemKey);

   if (time == null){
      cacheHit = false;
   }

   if (cacheHit == false){
      time = @DateTime.Now;
      WebCache.Set(cacheItemKey, time, 1, false);
   }
}

<!DOCTYPE html>
<html>

   <head>
      <title>WebCache Helper Sample</title>
   </head>

   <body>
      <div>
         @if (cacheHit){
            @:Found the time data in the cache.
         } else {
            @:Did not find the time data in the cache.
         }
      </div>

      <div>
         This page was cached at @time.
      </div>

   </body>
</html>
  • 上記のコードでわかるように、データをキャッシュするときに、Webサイト全体で一意の名前を使用してデータをキャッシュに入れます。 この場合、 CachedTime という名前のキャッシュエントリを使用します。 これは cacheItemKey です。
  • コードは最初にCachedTimeキャッシュエントリを読み取ります。 値が返された場合、コードは単にtime変数の値をキャッシュデータに設定します。
  • ただし、キャッシュエントリが存在しない場合、コードは時間値を設定し、キャッシュに追加し、有効期限値を1分に設定します。
  • WebCache.Set(cacheItemKey、time、1、false)は、現在の時間値をキャッシュに追加し、その有効期限を1分に設定する方法を示しています。

アプリケーションを実行し、次のURLを指定してみましょう- http://localhost:50180/WebCache.cshtml 。次のページが表示されます。

Webキャッシュ

ここで、1分以内にページを更新します。同じ時間が表示されます。これは、時間がキャッシュから読み込まれるためです。

WebCacheヘルパー