Cache de Query no ColdFusion

On 28 de março de 2012, in CFML, by andersonstraube

Em sistemas críticos (de alta carga) é fundamental termos otimização de SQL’s e principalmente sistema de cache. O ColdFusion tem um recurso muito interessante que é utilizado para fazer o cache de query.

Em consultas largamente utilizadas no sistema e onde o resultado raramente muda como por exemplo: listagem de estados, cidades e bairros – não precisamos recorrer ao banco de dados para recuperar tais informações, nestes casos podemos poupar o banco armazenando o resultado dessa consulta em cache na própria aplicação:


<cfquery name="q_Estados" datasource="#dsn#" cachedwithin="#CreateTimeSpan(5,0,0,0)#">
  SELECT codigo, nome FROM estado
</cfquery>

O segredo aqui está no cachedwithin é através dele que dizemos quanto tempo esta consulta ficará no cache, neste exemplo ela ficará armazenada em cache por 5 dias. Após esse prazo ele refaz a busca e armazena no cache por mais 5 dias.

Vale ressaltar que o cache será armazenado por cada consulta/parâmetro, ou seja, se eu tenho uma listagem de cidades de um determinado estado, a cada alteração no estado será um cache diferente. Devemos ter cuidado com isso pois ao usar o cache de forma errônea podemos fazer com que a memória do servidor seja o gargalo da aplicação.

Tagged with:  

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *