msdn32_capa.jpg

 

Clique aqui para ler todos os artigos desta edição

 

 

Performance com cache de página

Daniel Portal Jorge

Este artigo discute

Este artigo usa as seguintes tecnologias

·        Caching total e parcial de páginas ASP.NET;

·        Caching de informações do banco de dados;

·        Caching com SqlDependency;

·        O controle Substitution.

 

ASP.NET 2.0, Visual Studio 2005, SQL Server 2000, SQL Profiler.

 

Normalmente, quando desenvolvemos uma aplicação, algo que nos preocupa bastante é a performance. E poucas coisas proporcionam mais ganhos imediatos em performance do que o recurso de caching.

Mas o que é caching afinal? Caching é o nome dado ao processo de armazenar, em um local de acesso rápido, informações que são acessadas com grande freqüência, desonerando o sistema (aplicação, database ou OS) de gerá-los novamente quando requisitados. Não raro, esse local é a memória, que é muito mais eficiente e menos custoso que outros recursos como disco rígido ou bancos de dados.

O ASP.NET conta com dois recursos específicos para caching: o Cache API (que não será abordado neste artigo), para armazenamento de dados arbitrários, como informações de um banco de dados ou informações de um arquivo em disco, e o Cache de página, utilizado para armazenar páginas da Web.

Vamos imaginar o seguinte cenário: você está desenvolvendo uma aplicação Web com um cadastro de clientes e nesse cadastro o tipo do endereço vem de uma tabela do banco (alameda, rua, avenida, praça etc.). Como esses dados são basicamente sempre os mesmos, por que buscá-los no banco toda vez em que a página for requisitada, gastando recursos de rede (para chegar até o banco), do banco (para processar a requisição) e do Web Server (que deverá exibir a nova lista que o banco retornou)?  Com o recurso de caching você pode deixar essa lista ou mesmo a página de clientes armazenada de forma estática em memória e ela será simplesmente exibida sempre que requisitada.

Page Output Cache (caching de página)

Uma página pode ser colocada em cache (“cached”) de duas formas: total ou parcialmente. Quando tratamos de cache total de página, entendemos que toda a página, mais seu conteúdo, será gravada de forma estática na memória, e é essa informação que será mostrada para o usuário final quando a página for requisitada.

No caso de cache parcial de página, podemos entender que vamos armazenar apenas uma parcela da página na memória, enquanto o restante da mesma continuará sendo remontada dinamicamente a cada pedido (Request).

Para demonstrar o funcionamento do cache total de página, criaremos uma projeto Web chamado “CachingSample” (como mostra a Figura 1) e pediremos para que a página imprima o valor da hora corrente.

 

 

image002.jpg 

Figura 1. Criando um projeto Web de exemplo

Na Listagem 1, temos o código do arquivo ASPX para a utilização de cache.

 

Listagem 1. Mostrando a data e a hora em que a página foi executada.

...

<body>

    <form id="form1" runat="server">

<div>

  <% Response.Write(System.DateTime.Now); %>

div>

   form>

body ...

Quer ler esse conteúdo completo? Tenha acesso completo