|
|
|

|

|
Dicas
|

|
ASP - Active Server Page (Miscelâneas)
|
|
 |
Título da Dica: Caching com Application
|
 |
|
|
Postada em 27/10/2003 por ^HEAVY-METAL^
O proposito deste tutorial e exemplificar como fazer caching de informacao que nao e alterada muitas vezes (so para ai de hora em hora), podendo ir busca-la a BD por exemplo, ou como fazer o cache da pagina durante 5 minutos para aumentar a sua performance (se nesses 5 minutos a BD e aberta uma so vez, isto aumentara a performance por um factor de 100.000 x).
Estas sub-rotinas/funcoes sao super flexiveis e podem ser usadas num site inteiro, bastando po-las num include.
A funcao check, que serve para ver se a variavel de aplicacao tem conteudo e se esta up-to-date, requer 3 parametros:
Function check(Temporizador,apli,T_comparacao)
Temporizador= nome do temporizador N_apli= nome de variavel de aplicacao T_comparacao= aqui da-se o tempo, em minutos, que a variavel de aplicacao existe
A funcao Guardar serve para guardar os valores nas variaveis de aplicacao, e tem 3 paramentros:
Sub Guardar(T_nome,A_nome,NovoValor)
T_nome= nome do Temporizador (ou um nome que queiram dar) A_nome= nome da variavel aplicacao (ou um nome que queiram dar) NovoValor= O valor que queremos que seja guardado na variavel aplicacao
Nota: Nunca guardar um objecto dentro duma variavel de aplicacao ou de sessao!
ficheiro : rotinas.asp
<% function check(Temporizador,apli,T_comparacao) If Application(Temporizador)="" Or datediff ("n",Application(Temporizador),now())> T_comparacao then check=true else check=false end if end function
Sub Guardar(T_nome,A_nome,NovoValor) Application.Lock Application(T_nome) = Now() Application(A_nome) = NovoValor Application.Unlock End sub %>
ficheiro : page.asp <!--#include file="rotinas.asp"--> <% 'Aqui ve-se se a variavel de aplicacao ainda esta valida if check("t2","a2",1) then 'Aqui podemos colocar o codigo que obtem a informacao que queremos guardar na variavel de aplicacao (ex: informacao da BD)
Info_guardar="blablablbla"
Call Guardar ("t2","a2",Info_guardar) end if
'Aqui escrevemos o que temos na aplicao Response.write "1:" & Application("a1") & "<BR>"
%>
T+,
|
|
|
|

|