Поделиться через


Кэш ответа 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

  • Добавьте дополнительные свойства хэша -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'}
  • атрибут change
$cacheEntry.Duration = [TimeSpan]::FromSeconds(10)
$cacheEntry.kernelCachePolicy = 'CacheForTimePeriod'
set-webconfigurationproperty /system.webServer/caching iis:\sites\mysite `
    -name profiles `
    -atElement @{extension='.tif'} `
    -value $cacheEntry