O que é a Cache do Azure para Redis?
O Cache do Azure para Redis fornece um armazenamento de dados na memória baseado no software Redis . O Redis melhora o desempenho e a escalabilidade de um aplicativo que usa fortemente armazenamentos de dados de back-end. Ele é capaz de processar grandes volumes de solicitações de aplicativos mantendo dados acessados com frequência na memória do servidor, que podem ser gravados e lidos rapidamente. O Redis traz uma solução crítica de armazenamento de dados de baixa latência e alta taxa de transferência para aplicativos modernos.
O Cache do Azure para Redis oferece o Redis de código aberto (OSS Redis) e um produto comercial da Redis Inc. Ele fornece instâncias de servidor Redis seguras e dedicadas e compatibilidade total com a API Redis. A Microsoft opera o serviço, hospedado no Azure e utilizável por qualquer aplicativo dentro ou fora do Azure.
O Cache Redis do Azure pode ser usado como um cache de dados ou conteúdo distribuído, um armazenamento de sessão, um agente de mensagens e muito mais. Ele pode ser implantado de forma autônoma. Ou, ele pode ser implantado junto com outros serviços de banco de dados do Azure, como o Azure SQL ou o Azure Cosmos DB.
Cenários principais
O Cache Redis do Azure melhora o desempenho do aplicativo dando suporte a padrões comuns de arquitetura de aplicativo. Alguns dos mais comuns incluem os seguintes padrões:
Padrão | Description |
---|---|
Cache de dados | Os bancos de dados geralmente são grandes demais para serem carregados diretamente em um cache. É comum usar o padrão cache-aside para carregar dados no cache apenas quando necessário. Quando o sistema faz alterações nos dados, o sistema também pode atualizar o cache, que é então distribuído para outros clientes. Além disso, o sistema pode definir uma expiração nos dados ou usar uma política de remoção para disparar atualizações de dados no cache. |
Cache de conteúdo | Muitas páginas da Web são geradas a partir de modelos que usam conteúdo estático, como cabeçalhos, rodapés, banners. Esses itens estáticos não devem ser alterados com frequência. O uso de um cache na memória fornece acesso rápido a conteúdo estático em comparação com armazenamentos de dados de back-end. Esse padrão reduz o tempo de processamento e a carga do servidor, permitindo que os servidores Web sejam mais responsivos. Ele pode permitir que você reduza o número de servidores necessários para lidar com cargas. O Cache Redis do Azure fornece o Provedor de Cache de Saída Redis para dar suporte a esse padrão com ASP.NET. |
Loja de sessões | Esse padrão é comumente usado com carrinhos de compras e outros dados do histórico do usuário que um aplicativo da Web pode associar aos cookies do usuário. Armazenar muito em um cookie pode ter um efeito negativo no desempenho à medida que o tamanho do cookie cresce e é passado e validado a cada solicitação. Uma solução típica usa o cookie como uma chave para consultar os dados em um banco de dados. Quando você usa um cache na memória, como o Cache do Azure para Redis, associar informações a um usuário é mais rápido do que interagir com um banco de dados relacional completo. |
Colocação em fila de tarefas e mensagens | Os aplicativos geralmente adicionam tarefas a uma fila quando as operações associadas à solicitação levam tempo para serem executadas. Operações de execução mais longas são enfileiradas para serem processadas em sequência, geralmente por outro servidor. Este método de diferimento do trabalho é denominado colocação em fila de tarefas. O Cache Redis do Azure fornece uma fila distribuída para habilitar esse padrão em seu aplicativo. |
Transações distribuídas | Às vezes, os aplicativos exigem uma série de comandos em um armazenamento de dados de back-end para serem executados como uma única operação atômica. Todos os comandos têm de ser realizados com êxito, caso contrário, devem ser todos revertidos para o estado inicial. O Cache Redis do Azure dá suporte à execução de um lote de comandos como uma única transação. |
Versões Redis
O Cache do Azure para Redis dá suporte ao OSS Redis versão 4.0.x e 6.0.x. Tomámos a decisão de saltar o Redis 5.0 para lhe trazer a versão mais recente. Anteriormente, o Cache do Azure para Redis mantinha uma única versão do Redis. No futuro, você pode escolher entre uma atualização de versão principal mais recente e pelo menos uma versão estável mais antiga. Você pode escolher a versão que funciona melhor para o seu aplicativo.
Escalões de serviço
O Cache Redis do Azure está disponível nestas camadas:
Escalão de serviço | Description |
---|---|
Básica | Um cache OSS Redis em execução em uma única VM. Essa camada não tem contrato de nível de serviço (SLA) e é ideal para cargas de trabalho de desenvolvimento/teste e não críticas. |
Standard | Um cache Redis OSS em execução em duas VMs em uma configuração replicada. |
Premium | Caches Redis OSS de alto desempenho. Essa camada oferece maior taxa de transferência, menor latência, melhor disponibilidade e mais recursos. Os caches Premium são implantados em VMs mais poderosas em comparação com as VMs para caches Basic ou Standard. |
Grandes Empresas | Caches de alto desempenho alimentados pelo software Redis Enterprise da Redis Inc. Esta camada suporta módulos Redis, incluindo RediSearch, RedisBloom, RedisJSON e RedisTimeSeries. Além disso, oferece uma disponibilidade ainda maior do que o nível Premium. |
Flash Empresarial | Caches grandes e econômicos alimentados pelo software Redis Enterprise da Redis Inc. Essa camada estende o armazenamento de dados Redis para memória não volátil, que é mais barata do que DRAM, em uma VM. Reduz o custo total de memória por GB. |
Comparação de funcionalidades
O Cache do Azure para Preços Redis fornece uma comparação detalhada de cada camada. A tabela seguinte ajuda a descrever algumas das funcionalidades suportadas pelo escalão:
Descrição da Funcionalidade | Básica | Standard | Premium | Grandes Empresas | Flash Empresarial |
---|---|---|---|---|---|
Contrato de Nível de Serviço (SLA) | Não | Sim | Sim | Sim | Sim |
Encriptação de dados em trânsito | Sim | Sim | Sim | Sim | Sim |
Isolamento de rede | Sim | Sim | Sim | Sim | Sim |
Dimensionamento | Sim | Sim | Sim | Sim | Sim |
Clustering OSS | No | No | Sim | Sim | Sim |
Persistência de dados | No | No | Sim | Pré-visualizar | Pré-visualizar |
Redundância de zona | Não | Disponível | Disponível | Disponível | Disponíveis |
Georreplicação | No | Não | Sim (Passivo) | Sim (Ativo) | Sim (Ativo) |
Logs de auditoria de conexão | No | Não | Sim (baseado em sondagens) | Sim (baseado em eventos) | Sim (baseado em eventos) |
Módulos Redis | No | No | No | Sim | Pré-visualizar |
Importação/Exportação | No | No | Sim | Sim | Sim |
Reiniciar | Sim | Sim | Sim | No | Não |
Atualizar canal e agendar atualizações | Sim | Sim | Sim | No | No |
Nota
Atualmente, a camada Enterprise Flash suporta apenas o módulo RediSearch (em visualização) e o módulo RedisJSON.
Nota
Atualmente, as camadas Enterprise e Enterprise Flash suportam apenas escalonamento e expansão. A redução e a expansão ainda não são suportadas.
Escolher o escalão certo
Considere as seguintes opções ao escolher uma camada do Cache do Azure para Redis:
- Memória: As camadas Basic e Standard oferecem 250 MB - 53 GB, a camada Premium 6 GB - 1,2 TB, a camada Enterprise 1 GB - 2 TB e a camada Enterprise Flash 300 GB - 4,5 TB. Para criar instâncias de cache de tamanho maior, você pode usar o dimensionamento. Para obter mais informações, consulte Preços do Cache do Azure para Redis.
- Desempenho: os caches nas camadas Premium e Enterprise são implantados em hardware com processadores mais rápidos, proporcionando melhor desempenho em comparação com a camada Basic ou Standard. A camada Enterprise normalmente tem o melhor desempenho para a maioria das cargas de trabalho, especialmente com instâncias de cache maiores. Para obter mais informações, consulte Testes de desempenho.
- Núcleo dedicado para servidor Redis: Todos os caches, exceto C0, executam vCPUs dedicadas. As camadas Basic, Standard e Premium executam Redis de código aberto, que, por design, usa apenas um thread para processamento de comandos. Nessas camadas, ter mais vCPUs geralmente melhora o desempenho da taxa de transferência porque o Cache Redis do Azure usa outras vCPUs para processamento de E/S ou para processos do sistema operacional. No entanto, adicionar mais vCPUs por instância pode não produzir aumentos lineares de desempenho. A expansão geralmente aumenta o desempenho mais do que a expansão nesses níveis. As camadas Enterprise e Enterprise Flash são executadas no Redis Enterprise, que é capaz de utilizar várias vCPUs por instância, o que também pode aumentar significativamente o desempenho em relação a outras camadas. Para as camadas flash Enterprise e Enterprise, recomenda-se aumentar a escala antes da expansão.
- Desempenho de rede: se você tiver uma carga de trabalho que exija alta taxa de transferência, a camada Premium ou Enterprise oferece mais largura de banda em comparação com Basic ou Standard. Também dentro de cada camada, caches de tamanho maior têm mais largura de banda devido à VM subjacente que hospeda o cache. Limites de largura de banda mais altos ajudam a evitar a saturação da rede que causa tempos limite em seu aplicativo. Para obter mais informações, consulte Testes de desempenho.
- Número máximo de conexões de clientes: as camadas Premium e Enterprise oferecem o número máximo de clientes que podem se conectar ao Redis, oferecendo um número maior de conexões para caches de tamanho maior. O clustering aumenta a quantidade total de largura de banda de rede disponível para um cache clusterizado.
- Alta disponibilidade: o Cache Redis do Azure fornece várias opções de alta disponibilidade . Ele garante que um cache Standard, Premium ou Enterprise esteja disponível de acordo com nosso SLA. O SLA cobre apenas a conectividade com os pontos finais da cache. O SLA não cobre a proteção contra perda de dados. Recomendamos o uso do recurso de persistência de dados Redis nas camadas Premium e Enterprise para aumentar a resiliência contra perda de dados.
- Persistência de dados: as camadas Premium e Enterprise permitem que você persista os dados de cache em uma conta de Armazenamento do Azure e em um Disco Gerenciado, respectivamente. Problemas de infraestrutura subjacentes podem resultar em perda potencial de dados. Recomendamos o uso do recurso de persistência de dados Redis nessas camadas para aumentar a resiliência contra perda de dados. O Cache Redis do Azure oferece opções RDB e AOF (visualização). A persistência de dados pode ser habilitada por meio do portal do Azure e da CLI. Para a camada Premium, consulte Como configurar a persistência para um Cache Premium do Azure para Redis.
- Isolamento de rede: as implantações de Link Privado do Azure e Rede Virtual (VNet) fornecem segurança aprimorada e isolamento de tráfego para seu Cache do Azure para Redis. A VNet permite restringir ainda mais o acesso por meio de políticas de controle de acesso à rede. Para obter mais informações, consulte Cache do Azure para Redis com o Azure Private Link e Como configurar o suporte de Rede Virtual para um Cache Premium do Azure para Redis.
- Módulos Redis: As camadas Enterprise suportam RediSearch, RedisBloom, RedisTimeSeries e RedisJSON. Esses módulos adicionam novos tipos de dados e funcionalidades ao Redis.
Você pode dimensionar seu cache da camada Básica para Premium depois que ele for criado. Atualmente, não há suporte para a redução para uma camada inferior. Para obter instruções de dimensionamento passo a passo, consulte Como dimensionar o Cache do Azure para Redis e Como dimensionar - camadas Básica, Standard e Premium.
Considerações especiais para níveis Enterprise
Os níveis Enterprise dependem do Redis Enterprise, uma variante comercial do Redis da Redis Inc. O Cache Redis do Azure gerencia a aquisição de licenças para que você não precise fazê-lo separadamente. Para comprar no Azure Marketplace, tem de ter os seguintes pré-requisitos:
- A sua subscrição do Azure tem um instrumento de pagamento válido. Não há suporte para créditos do Azure ou assinaturas gratuitas do MSDN.
- A sua organização permite compras no Azure Marketplace.
- Se você usar um Marketplace privado, ele deverá conter a oferta Redis Inc.
Importante
O Cache do Azure para Redis Enterprise requer Balanceadores de Carga de rede padrão que são cobrados separadamente das próprias instâncias de cache. Atualmente, esses encargos são absorvidos pelo Cache Redis do Azure e não repassados aos clientes. Esta situação pode mudar no futuro. Para obter mais informações, consulte Preços do balanceador de carga.
Se um cache Enterprise estiver configurado para várias Zonas de Disponibilidade, as cobranças de transferência de dados serão absorvidas pelo cache Redis do Azure e não serão passadas aos clientes. Isso pode mudar no futuro, onde a transferência de dados seria cobrada com as taxas padrão de largura de banda da rede
Além disso, a persistência de dados adiciona Managed Disks. O uso desses recursos é gratuito durante a visualização pública da persistência de dados corporativos. Isso pode mudar quando o recurso se tornar disponível ao público.
Disponibilidade por região
O Cache Redis do Azure está se expandindo continuamente para novas regiões. Para verificar a disponibilidade por região, consulte Produtos disponíveis por região.
Conteúdos relacionados
- Criar uma cache de Redis open-source
- Criar um cache Redis Enterprise
- Usar o Cache do Azure para Redis em um aplicativo Web ASP.NET
- Usar o Cache do Azure para Redis no .NET Core
- Usar o Cache do Azure para Redis no .NET Framework
- Usar o Cache Redis do Azure no Node.js
- Usar o Cache do Azure para Redis em Java
- Usar o Cache do Azure para Redis em Python