Saiba mais sobre o Redis para aplicativos Java e Spring Boot

Concluído

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

  • Redis e Cache do Azure para Redis.
  • Redis com aplicativos Java e Spring Boot.
  • Cache distribuído do Spring Data Redis.

Redis e Cache do Azure para Redis

O Redis é um armazenamento de dados na memória, distribuído, de código aberto e licenciado pela BSD com durabilidade opcional que atua como um cache e um agente de mensagens. Ele é um dos bancos de dados de chave-valor mais populares, com facilidade de uso, desempenho e escalabilidade que o tornam uma excelente opção 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. Ele 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 oferece as vantagens de um serviço de nuvem gerenciado, como patches automáticos, atualizações, dimensionamento e provisionamento.

O Cache do Azure para Redis oferece diversas 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 do 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. Os aplicativos que usam JSF (JavaServer Faces) ou que armazenam dados de segurança na sessão do usuário geralmente usam esse mecanismo.
  • Uma solução de agente de mensagens implementa arquiteturas de publicação/assinatura ou fila.

Usar o Redis com Java

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

  • O Jedis é a biblioteca mais usada e é simples e fácil de usar.
  • O Lettuce é a biblioteca que este módulo usa, porque ele é fornecido com o Spring Data para Redis. O Lettuce tem um ótimo suporte assíncrono, o que é importante para criar um aplicativo Spring reativo.
  • O Redisson é o cliente Redis mais avançado. É possível usar o Redisson como um cache de segundo nível do Hibernate, caso você precise desse recurso.

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

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

  1. Adicionar a biblioteca Spring Data Redis ao seu aplicativo.
  2. Configure o arquivo application.yml para se conectar à 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 Lettuce, mas você não precisa usá-la diretamente, a menos que precise de uma 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 Spring está familiarizada. Também é possível usar o Spring Data para acessar bancos de dados SQL usando a JPA (Java Persistence API) e 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 anotação Java @RedisHash 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 CRUD (criação, recuperação, atualização e exclusão) 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.

    É possível injetar esse repositório Spring em qualquer bean Spring padrão. Por exemplo, é possível injetar o repositório em um controlador Spring MVC REST, que armazena e acessa os dados do repositório.

Prossiga para a próxima unidade a fim de criar um aplicativo Spring Boot com um cache distribuído que usa o Spring Data Redis. É possível criar o aplicativo enquanto você aguarda a conclusão da implantação do Cache do Azure para Redis.