Compartilhar via


Cache de Resposta HTTP

por Walter Oliver

O cache de saída do IIS é um recurso que possibilita armazenar em cache respostas inteiras na memória, mesmo de conteúdo dinâmico. Ao contrário dos caches no IIS 6.0, o IIS 7.0 e posteriores têm um cache "inteligente", o que permite que proprietários de sites e desenvolvedores configurem o cache de saída para armazenar em cache, cópias separadas de respostas com base no valor da cadeia de caracteres de consulta. O cache de saída também já está integrado ao cache de kernel do HTTP.sys, o que ajuda a acelerar o desempenho. Por padrão, o cache do kernel fica desbloqueado. Os desenvolvedores podem usufruir desse recurso ao configurar os perfis de cache no aplicativo. Execute uma ferramenta de linha de comando que mostra qual conteúdo está no cache do HTTP.sys.

Para exibir o cache de resposta HTTP usando o netsh

  • Abra um prompt de comando e execute o seguinte:

cache do netsh http show

Para habilitar o cache usando o Provedor PowerShell do IIS

  • Abra o prompt do PowerShell e digite:
set-webconfigurationproperty /system.webServer/caching iis:\sites\mysite -name enabled -value true

Para adicionar uma nova entrada usando o Provedor PowerShell do IIS

  • Adicionar propriedades extras ao código hash -value @{...}
add-webconfigurationproperty /system.webServer/caching iis:\sites\mysite `-name profiles `-value @{extension='.tif'; policy='CacheForTimePeriod';duration='00:00:10'}

Para alterar a configuração da entrada de cache

  • obter uma entrada específica:
$cacheEntry = get-webconfigurationproperty /system.webServer/caching iis:\sites\mysite -atElement @{extension='.tif'}
  • alterar atributo
$cacheEntry.Duration = [TimeSpan]::FromSeconds(10)
$cacheEntry.kernelCachePolicy = 'CacheForTimePeriod'
set-webconfigurationproperty /system.webServer/caching iis:\sites\mysite `
    -name profiles `
    -atElement @{extension='.tif'} `
    -value $cacheEntry