Saiba mais sobre os aplicativos Redis para Java e Spring Boot

Concluído

Enquanto sua instância do Cache do Azure para Redis é implantada, leia as seções a seguir para saber mais sobre as seguintes tecnologias:

  • Redis e Cache do Azure para Redis.
  • Redis com aplicações Java e Spring Boot.
  • Cache distribuído Spring Data Redis.

Cache Redis e Azure para Redis

O Redis é um armazenamento de dados na memória distribuído de código aberto licenciado pela BSD com durabilidade opcional que atua como um agente de cache e mensagens. O Redis é um dos bancos de dados chave-valor mais populares, com facilidade de uso, desempenho e escalabilidade que o tornam uma excelente escolha para desenvolvedores de aplicativos.

O Cache do Azure para Redis é uma versão gerenciada do Redis que o Azure mantém e opera na nuvem. O Cache Redis do Azure oferece todos os benefícios do Redis, incluindo alta taxa de transferência e desempenho para lidar com milhões de solicitações por segundo. O Azure também fornece as vantagens de um serviço de nuvem gerenciado, como patches automáticos, atualizações, dimensionamento e provisionamento.

O Cache Redis do Azure oferece várias camadas de serviço. As camadas avançadas fornecem clustering, replicação geográfica e alta disponibilidade para as cargas de trabalho mais críticas.

Casos de uso do Cache do Azure para Redis

O Redis e o Cache do Azure para Redis fornecem os seguintes casos de uso principais:

  • Um cache distribuído acelera os aplicativos que dependem de bancos de dados SQL. O Redis pode reduzir o custo de um aplicativo, porque dimensionar um cluster Redis é mais barato do que dimensionar um banco de dados.
  • Um armazenamento de dados de sessão HTTP armazena dados de sessão, o que permite o dimensionamento de aplicativos baseados em sessão. Aplicativos que usam JavaServer Faces (JSF) ou que armazenam dados de segurança na sessão do usuário normalmente usam esse mecanismo.
  • Uma solução de agente de mensagens implementa arquiteturas de publicação/assinatura ou fila.

Utilizar Redis com Java

O Redis não fornece uma biblioteca oficial para desenvolvedores Java, mas existem várias bibliotecas de código aberto. Uma das suas principais decisões como desenvolvedor Java é selecionar a biblioteca que melhor se adapta às suas necessidades. As mais populares são as seguintes bibliotecas.

  • Jedis é a biblioteca mais utilizada, e é simples e fácil de usar.
  • Lettuce é a biblioteca que este módulo usa, porque vem junto com o Spring Data for Redis. Lettuce tem grande suporte assíncrono, o que é importante se você quiser criar um aplicativo Spring reativo.
  • Redisson é o cliente Redis mais avançado. Você pode usar o Redisson como um cache de segundo nível do Hibernate se precisar desse recurso.

Usar o Spring Data Redis para criar um cache distribuído

Para criar um cache distribuído usando o Redis com o Spring Boot, normalmente com o Spring Initializr, execute três tarefas principais:

  1. Adicione a biblioteca Spring Data Redis ao seu aplicativo.
  2. Configure seu arquivo application.yml para se conectar à sua instância do Cache do Azure para Redis.
  3. Codifique a lógica de negócios usando o Spring Data Redis para armazenar e recuperar dados do cache.

O módulo atual usa a biblioteca Alface, mas você não precisa usar a biblioteca diretamente, a menos que precise de configuração avançada. O Spring Data lida com o código de acesso a dados usando um mecanismo com o qual a maioria dos desenvolvedores do Spring deve estar familiarizada. Você também pode usar o Spring Data para acessar bancos de dados SQL usando a Java Persistence API (JPA) e para acessar bancos de dados NoSQL como o MongoDB.

O Spring Data requer que você crie as seguintes classes:

  • Um bean Java para armazenar seus dados. Você anota a classe com a @RedisHash anotação Java para armazenar e recuperar dados do Redis por meio de uma chave específica.

  • Um repositório Spring. Este repositório é uma classe Java específica que pode fazer operações de criação, recuperação, atualização, exclusão (CRUD) do banco de dados no bean Java que armazena os dados. Por exemplo, essa classe pode armazenar uma instância do bean ou recuperar uma lista de beans.

    Você pode injetar este repositório Spring em qualquer feijão Spring padrão. Por exemplo, você pode injetar o repositório em um controlador REST Spring MVC, que armazena e acessa os dados do repositório.

Prossiga para a próxima unidade para criar um aplicativo Spring Boot com um cache distribuído que usa o Spring Data Redis. Você pode criar o aplicativo enquanto aguarda que o cache Redis do Azure termine a implantação.