Saiba mais sobre o Redis para aplicativos Java e Spring Boot
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:
- Adicionar a biblioteca Spring Data Redis ao seu aplicativo.
- Configure o arquivo application.yml para se conectar à instância do Cache do Azure para Redis.
- 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.