Pergunta

O que seria algumas vantagens de usar etags / obsoleto? / Fresh_when? em vez de página de cache (em um cache de arquivo)?

Apache trata automaticamente etags para arquivos estáticos, mas mesmo que não o fez, página cache ainda seria melhor desde que o aplicativo Rails nem sequer obter chamado.

Assim, no que casos que eu iria usar os métodos fornecidos pelo Rails (obsoleto? / Fresh_when?)?

Foi útil?

Solução

Eles são realmente de cortesia. Etags / fresh_when etc. ajuda você jogar bonito com caches downstream (como seu próprio Varnish / casos Squid ou Rack :: Cache ou o cache do navegador ou dos Servidores ISP Proxy ...)

Página cache evita que você bater seus trilhos empilhar inteiramente por causa Apache / seu servidor servir o arquivo, por isso há pesquisas DB está feito. Mas você tem que lidar com a expiração do cache para manter o fresco cache.

Usando etags / condicional começa, você não economizar tempo de processamento muito desde que você ainda precisa para obter todos os registros usados ??na página:

def show
  @article = Article.find(params[:id])
  @feature = Feature.current
  fresh_when :etag => [@article, @feature] 
end

no caso em que o usuário tem uma página atual, ele poupa-lhe algum tempo de processamento e largura de banda necessária para enviar para baixo a página.

Outras dicas

Outro uso que me ocorreu foi que você poderia ainda processar algumas informações antes de deixá-mão Rails o "304 Not Modified" cabeçalho. Como se você quer gravar acessos a uma página.

Uma coisa que vem à mente é que fresh_when vai ainda poupar algum prestação, mesmo se você limpou todo o cache de página. Aqui você estaria usando tanto em tandem.

Estou curioso sobre outras respostas também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top