Usando o Serviço de Cache Dinâmico

Use o serviço de cache dinâmico para melhorar o desempenho do aplicativo armazenando em cache a saída de servlets, serviços da Web e comandos do WebSphere Application Server na memória.

Antes de Iniciar

Desenvolva uma política de cache para seu aplicativo. A política de cache define regras para quais respostas armazenar em cache e a quantidade de tempo que as respostas devem ser mantidas no cache. Consulte o artigo Configurando Objetos em Cache com o Arquivo cachespec.xml para obter informações adicionais.

Sobre Esta Tarefa

O serviço de cache dinâmico é ativado por padrão. É possível configurar a instância de cache padrão, da seguinte maneira:

Procedimento

  1. Clique em Servidores > Tipos de Servidor > Servidores do WebSphere® application > server_name > Serviços de contêiner > Serviço de cache dinâmico.
  2. Configure a instância de cache padrão ou siga os links para ativar o cache de servlet ou portlet. Consulte o artigo Configurações de Serviço de Cache Dinâmico para obter informações adicionais sobre as configurações de cache padrão.

Exemplo

Este exemplo reúne todas as etapas para configurar o serviço de cache dinâmico com o arquivo cachespec.xml, mostrando o uso das regras de geração de ID de cache, IDs de dependência e regras de invalidação.

Suponha que um servlet seja utilizado para gerenciar um site simples de notícias. Esse servlet utiliza o parâmetro de consulta "action" para determinar se o pedido está sendo utilizado para visualizar as notícias (parâmetro de consulta "view") ou atualizar notícias (parâmetro de consulta "update") (utilizado pelo administrador). Outro parâmetro de consulta "category" seleciona a categoria de notícias. Suponha que esse site suporte um layout personalizado opcional, o qual é armazenado na sessão do usuário utilizando o nome de atributo "layout". Eis alguns exemplos de pedidos de URL para esse servlet:
  • http://yourhost/yourwebapp/newscontroller?action=view&category=sports (Retorna uma página de notícias para a categoria sports.)
  • http://yourhost/yourwebapp/newscontroller?action=view&category=money (Retorna uma página de notícias para a categoria money)
  • http://yourhost/yourwebapp/newscontroller?action=update&category=fashion (Permite que o administrador atualize notícias na categoria fashion)

As etapas a seguir ilustram como configurar o serviço de cache dinâmico para esse exemplo com o arquivo cachespec.xml:

  1. Defina os elementos <cache-entry> necessários para identificar o servlet. Nesse caso, o URI do servlet é "newscontroller", para que esse seja o elemento <name> da entrada de cache. Como esse exemplo armazena em cache um servlet ou arquivos JSP (JavaServer Pages), a classe da entrada de cache é "servlet".
    <cache-entry> 
    <name> /newscontroller </name>
    <class>servlet  </class>  
     </cache-entry>
  2. Defina as regras de geração de ID de cache. Esse servlet é armazenado em cache apenas quando action=view, de modo que um componente do ID de cache será o parâmetro "action" quando o valor for igual a "view". A categoria de notícias também é uma parte essencial do ID de cache. O atributo opcional session para o layout do usuário é incluído no ID de cache. A entrada de cache agora é:
    <cache-entry> 
    	<name> /newscontroller </name>
    	<class>servlet  </class>  
     	<cache-id>
    		<component id="action" type="parameter">
    			<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    		<component id="layout" type="session">
    			<required>false</required>
    		</component>
    	</cache-id>
    </cache-entry>
  3. Defina regras de ID de dependência. Para esse servlet, é incluído um ID de dependência para a categoria. Posteriormente, quando a categoria for invalidada devido a um evento de atualização, todas as visualizações dessa categoria de notícias serão invalidadas. A seguir está um exemplo da entrada de cache após incluir o ID de dependência:
    <cache-entry> 
    	<name>newscontroller </name>
    	<class>servlet  </class>  
     	<cache-id>
    		<component id="action" type="parameter">
    			<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    		<component id="layout" type="session">
    			<required>false</required>
    		</component>
    	</cache-id>
    	<dependency-id>category
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    	</dependency-id>
    </cache-entry>
  4. Defina regras de invalidação. Como um ID da dependência de categoria já está definido, defina uma regra de invalidação para invalidar a categoria quando action=update. Para incorporar a lógica condicional, incluiremos componentes "ignore-value" na regra de invalidação. Esses componentes não são incluídos na saída do ID de invalidação, mas apenas determinam se o ID de invalidação será ou não criado e executado. O cache-entry final agora é semelhante a este:
    <cache-entry> 
    	<name>newscontroller </name>
    	<class>servlet  </class>  
     	<cache-id>
    		<component id="action" type="parameter">
    			<value>view</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    		<component id="layout" type="session">
    			<required>false</required>
    		</component>
    	</cache-id>
    	<dependency-id>category
    		<component id="category" type="parameter">
    			<required>true</required>
    		</component>
    	</dependency-id>
    	<invalidation>category
    		<component id="action" type="parameter" ignore-value="true">
    			<value>update</value>
    			<required>true</required>
    		</component>
    		<component id="category" type="parameter">
    			<required>true</required>
         </component>
    	</invalidation>
    </cache-entry>

O que Fazer Depois

Você pode querer ativar a transferência de disco do cache dinâmico. Essa opção move as entradas do cache que expiraram da memória para o disco para um acesso futuro em potencial. Consulte Configurando a transferência de disco de cache dinâmico para obter mais informações sobre como ativar a transferência de disco.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_enablecache
Nome do arquivo: tdyn_enablecache.html