HTTP 応答キャッシュ

公開日: 2007 年 12 月 1 日 (作業者: walterov (英語))

更新日: 2009 年 5 月 11 日 (作業者: walterov (英語))

IIS 7 出力キャッシュは、動的コンテンツからの応答もすべてメモリーにキャッシュできる新機能です。IIS 6 の既存のキャッシュ機能とは異なり、IIS 7 の 'スマート' なキャッシュ機能を使って、サイトの所有者や開発者は出力キャッシュを構成し、クエリ文字列の値に応じて、応答を別々にコピーしてキャッシュすることができます。HTTP.sys カーネル キャッシュと出力キャッシュを統合して、パフォーマンスを向上することもできます。既定では、カーネル キャッシュはロック解除されています。開発者は、アプリケーション内でキャッシュ プロファイルを構成することにより、この機能を活用できます。HTTP.sys キャッシュのコンテンツを表示するコマンド ライン ツールを利用できます。

netsh を使用して HTTP 応答キャッシュを表示する

  • コマンド プロンプトを開き、以下のコマンドを実行します。

netsh http show cache

IIS PowerShell Provider を使用してキャッシュを有効にする

  • PowerShell プロンプトを開き、以下のように入力します。

    set-webconfigurationproperty /system.webServer/caching iis:\sites\mysite -name enabled -value true

IIS PowerShell Provider を使用して新しいエントリを追加する

  • ハッシュ -value @{...} プロパティを追加します。

    add-webconfigurationproperty /system.webServer/caching iis:\sites\mysite -name profiles -value @{extension='.tif'; policy='CacheForTimePeriod';duration='00:00:10'}

キャッシュ エントリの設定を変更する

  • 特定のエントリを取得します。
$cacheEntry = get-webconfigurationproperty /system.webServer/caching iis:\sites\mysite -atElement @{extension='.tif'}
  • 属性を変更します。
$cacheEntry.Duration = [TimeSpan]::FromSeconds(10)
$cacheEntry.kernelCachePolicy = 'CacheForTimePeriod'
set-webconfigurationproperty /system.webServer/caching iis:\sites\mysite `
    -name profiles `
    -atElement @{extension='.tif'} `
    -value $cacheEntry