VENDAS: 1-800-867-1389

Como usar o armazenamento em cache colocalizado

Atualizado: março de 2015

As etapas a seguir mostram como criar um aplicativo que usa o cache compatível com memcached colocalizado.

O aplicativo será semelhante ao seguinte:

Exemplo de caching Olá, mundo

Existem duas topologias de implantação principais para cache: colocalizada e dedicada. As funções colocalizadas também hospedam código e serviços de outros aplicativos que não usam cache. As funções dedicadas são funções de trabalho usadas exclusivamente para o cache. Para obter informações sobre como criar um aplicativo que usa o cache dedicado, consulte Como usar o armazenamento em cache dedicado.

Informações adicionais sobre o cache no Azure estão disponíveis em Cache do Azure.

  1. Crie um aplicativo da Web dinâmico, conforme documentado em Criando um aplicativo Hello World para Azure no Eclipse.

  2. Criar um projeto do Azure para seu aplicativo, conforme documentado em Criando um aplicativo Hello World para Azure no Eclipse.

  3. Adicione seu JAR do cliente Memcache ao seu caminho de compilação de Java como uma biblioteca JAR externa.

  4. Adicione o JAR do cliente Memcache ao seu assembly de implantação.

  5. Habilite o cache colocalizado abrindo as propriedades para a função do Azure: Expanda seu projeto do Azure, abra o menu de contexto de WorkerRole1, clique em Azure e, em seguida, clique em Cache. Na caixa de diálogo de propriedades Cache, clique em Habilitar cache colocalizado. Use os valores padrão ou consulte Caching properties se desejar usar outros valores. O código a seguir mostra um conjunto de valores de exemplo:

    Propriedades de caching

    Clique em OK para salvar suas configurações e fechar a caixa de diálogo de propriedades Cache.

  6. Modifique index.jsp para usar o código a seguir:

    <%@ page import="java.net.*" %>
    <%@ page import="java.util.concurrent.*" %>
    <%@ page import="net.spy.memcached.*" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <%
        // Retrieve the current time in milliseconds.
        long timeMillis = System.currentTimeMillis();
        // Retrieve the role instance ID.
        String currentRoleInstanceID = System.getenv("RoleInstanceID");
        // Create an instance of the memcached client.
        MemcachedClient c = new MemcachedClient(new InetSocketAddress("localhost_WorkerRole1", 11211));
        // Create a string based on the current time and the current role instance ID. 
        String s = timeMillis + " - " + currentRoleInstanceID;
    
        String cachedString = null;
        Future<Object> obj = null;
        String keyName = "myText";
    
        // Retrieve and display the currently cached value.
        obj = c.asyncGet(keyName);
        try
        {
        cachedString = (String)obj.get(5, TimeUnit.SECONDS);
        }
        catch (TimeoutException e)
        {
        obj.cancel(false);
        // Take other action as needed.
        }
        
        out.println("Getting from cache: myText = " + cachedString + "<p/>");
    
        // Set the cached value to the current time and role instance ID. -->
        out.println("Setting to cache: myText = " + s + "<p/>");
        
        c.set(keyName, 3600, s);
        // Retrieve and display the newly cached value.
        obj = c.asyncGet(keyName);
        try
        {
            cachedString = (String)obj.get(5, TimeUnit.SECONDS);
        }
        catch (TimeoutException e)
        {
            obj.cancel(false);
        }
        out.println("Getting from updated cache: myText = " + cachedString + "<p/>");
    %>
    </body>
    </html>
    
  7. Se você estiver usando o Eclipse com um sistema operacional Windows, você pode executar o aplicativo no emulador de computação. Para fazer isso, clique no ícone Executar no Emulador do Azure na barra de ferramentas do Azure. Quando seu aplicativo estiver em execução no emulador de computação, inicie a URL localhost de seu aplicativo. Atualize o navegador e você poderá ver que os valores serão mantidos no cache. (Observação: o emulador de computação só está disponível nos sistemas com Windows.)

  8. Para executar no Azure, primeiro abra a caixa de diálogo de propriedades Cache e selecione (automático) na lista suspensa na seção Armazenamento. Se, na Etapa 5, você definir o nome da conta de armazenamento como (automática) (que é o padrão), sua configuração do cache usará automaticamente a mesma conta de armazenamento que você selecionou na caixa de diálogo Publicar no Azure. Caso contrário, você pode selecionar uma conta de armazenamento do Azure específica aqui. Depois de fechar a caixa de diálogo de propriedades Cache, na barra de ferramentas do Azure, clique no ícone Publicar na Nuvem do Azure e siga os prompts para concluir a implantação. Depois que o aplicativo for executado como um serviço de nuvem do Azure, inicie o URL do seu aplicativo. Atualize o navegador e você poderá ver que os valores serão mantidos no cache.

    noteObservação
    A configuração (automática) terá o efeito desejado somente se você publicar sua implantação usando o assistente de publicação do kit de ferramentas do Eclipse. Se, em vez disso, você publicar o arquivo .cspkg manualmente usando um mecanismo externo, como o Portal de Gerenciamento do Azure, a implantação não funcionará corretamente.

Consulte também

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2015 Microsoft