IISは、asp.netサイトで「出力キャッシュ」を設定する機能を備えています。ブラウザで行われるキャッシュと比較して、このタイプのキャッシュの利点は何ですか。ブラウザにコンテンツ(js / css / imageなど)をキャッシュする機能がある場合、.netが出力キャッシュなどの機能を実装するのはなぜですか?
2 に答える
作成するのに多くのサーバー側のリソースを必要とするページを想像してみてください。おそらく、データベース呼び出し、重い計算などです。
あるユーザーがそのページをリクエストし、ブラウザによってキャッシュされた場合、次にそのユーザーが同じページをリクエストしたときに、そのページはすでに自分のマシン上にあるため、サーバーによって生成されたり、転送されたりする必要はありません。再びネットワーク。
次に、2 番目のユーザーが同じページをリクエストしたとします。ページのコピーが最初のユーザーのブラウザーによってキャッシュされたという事実は役に立ちません。出力キャッシュがないと、サーバーはページを生成するために、時間のかかる操作を最初からやり直す必要があります。
ページで出力キャッシュが使用されている場合、最初に作成されたときの結果がサーバーのメモリに保存されるため、キャッシュされた結果を後続の要求に応答して送信できます。これにより、時間とサーバー側のリソースが節約されます。
複数のユーザーの場合を考えてみましょう。100 としましょう。
出力キャッシュがないと、IIS はユーザー要求ごとにページを処理および生成する必要があるため、ページは 100 回処理されます。
出力キャッシュを使用すると、IIS はページを (最初に要求したユーザーに対して) 1 回処理し、それをキャッシュして、他の 99 人のユーザーに同じバージョンを返す必要があります。