メインコンテンツへジャンプ
ASP.NETのTips満載!

チュートリアル

文責:山田奈美最終更新日:2006年02月06日

キャッシュってなんだろう?

キャラクターイラスト

キャッシュとは、生成(結果表示)されたコンテンツを特定の場所にプール(保存)しておいて、次に同じアクセスを行ったときに高速で処理できるようにするしくみのこと。

ASP.NETでは複数のキャッシュが用意されているんだよ。

ページキャッシュについて

ページキャッシュはその名の通り、ページ全体の結果をまるごとそのまま保存します。インターネットエクスプローラーなどのブラウザでも、アクセスしたページをローカルディスクに保存していますが、まさにそれがページキャッシュです。

ただし、ASP.NETの賢い所は、動的なページにも対応している所です。たとえば、フォームからの入力(リクエスト)情報などによって、応答(レスポンス)ページが変わる場合、ふつうのページキャッシュでは、リクエスト情報の部分(パラメータ)は保存されません。

でも、ASP.NETのキャッシュは、パラメータも別々のキャッシュとして保存してくれます。

フラグメントキャッシュについて

フラグメントキャッシュとは、ページの各部(断片)ごとに違うキャッシュを設定する技術のことです。動的なページといっても、本当に動的に変わる部分はページの一部です。

メニュー部分やヘッダ部分、フッタ部分などは毎回同じ内容を表示していることが多いでしょう。

それなのに、ページをまるごと毎回保存するのはナンセンス。

そんな場合は、フラグメントキャッシュを使って、動的に切り替わる部分には短いキャッシュ時間を設定して、殆ど変更されない部分には長い時間のキャッシュを設定することができます。

たとえば、以下の図のような場合、赤い点線で囲まれた「ヘッダ部分」「メニュー部分」は殆ど変更されないので、フラグメントキャッシュを使います。

フラグメントキャッシュ
フラグメントキャッシュ
コンテンツの終わりです。