Кэш ответов HTTP

Уолтер Оливер

Кэш выходных данных IIS — это функция, которая позволяет кэшировать все ответы в памяти даже из динамического содержимого. В отличие от кэшей в IIS 6.0, IIS 7.0 и выше имеет "умный" кэш, который позволяет владельцам и разработчикам сайта настроить выходной кэш для кэширования отдельных копий ответов на основе строкового значения запроса. Кэш выходных данных также интегрирован с кэшем ядра HTTP.sys, который помогает с быстрой производительностью. Кэширование ядра включено по умолчанию. Разработчики могут воспользоваться этой функцией, настроив профили кэширования в приложении. Вы можете запустить программу командной строки, показывющую содержимое в кэше HTTP.sys.

Просмотр кэша ответов HTTP с помощью netsh

  • Откройте командную строку и выполните следующую команду:

netsh http show cache

Включение кэширования с помощью поставщика IIS PowerShell

  • Откройте запрос PowerShell и введите следующее:
set-webconfigurationproperty /system.webServer/caching iis:\sites\mysite -name enabled -value true

Добавление новой записи с помощью поставщика IIS PowerShell

  • Добавьте дополнительные свойства значения хэша @{...}
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