Além do Trabalho

OSCache

Publicado por: jossemaravila em: Quarta-feira, 19/Março/2008

É uma solução para realizar cacheamento de páginas ou trechos de páginas JSP através da utilização de um biblioteca de Tags e de um conjunto de classes para realizar o tratamento dinâmico do cache.

Permite ainda que a realização do cacheamento seja feito em memória ou em disco e pode ser utilizado para permitir que a aplicação se recupere de forma elegante de erros críticos. Por exemplo: se houver queda do banco de dados você pode enviar ao usuário o conteúdo disponível no cache permitindo a navegação e utilização do sistema.

Como realizar o cachamento de páginas JSP

  • realizar a importação da taglib <%@ taglib uri=”http://www.opensymphony.com/oscache” prefix=”cache”%>
  • delimitar o conteúdo a ser cacheado pelas tags <cache:cache> e
    </cache:cache>
  • Exemplo de Implementação:
<cache:cache key="idTrecho" duration="24k">   <x:transform doc="xmlDoc" xslt="xsltDoc">

<x:param name="parametro" value="xpto"/>

</x:transform>

<cache:addgroup group="meuGrupo"/>

</cache:cache>
  • Atributos da tag cache:cache
  • key – utilizado para dar uma identificação única ao trecho cacheado.
  • duration – indica a duração do cache. Segue o mesmo pattern do SimpleDateFormat.
  • Atributos da tag cache:addgroup
  • group – utilizado para identificar de qual grupo o trecho faz parte. Esta informação é muito importante para a o momento de invalidação, pois a mesma é feita por grupos.

    Como realizar a invalidação do cache de páginas JSP

    Para realizar a invalidação do cache deve-se utilizar a tag <cache:flush>. Veja exemplos de invalidação:

    • Invalidação de todo conteúdo cacheado: <cache:flush scope=”application”/>
    • Invalidação do conteúdo cacheado e de um grupo específico: <cache:flush scope=”application” group=”meuGrupo” />
    • Atributos da tag cache:flush
    • scope - scope onde o cacheamento foi realizado. Por default, quando algo é cacheado o escopo é definido como de aplicação.
    • group - identifica o nome do grupo que terá o cache invalidado.

    Referências

    http://www.opensymphony.com/oscache/

    Deixe uma resposta