O que é o Cache do Azure para Redis?
O Cache do Azure para Redis fornece um armazenamento de dados na memória com base no software Redis. O Redis melhora o desempenho e a escalabilidade de um aplicativo que usa intensamente armazenamentos de dados de back-end. Ele é capaz de processar grandes volumes de solicitações de aplicativo mantendo os dados acessados com frequência na memória do servidor, que pode ser gravada e lida rapidamente. O Redis traz uma solução de armazenamento de dados crítica de baixa latência e alta taxa de transferência para aplicativos modernos.
O Cache do Azure para Redis oferece o OSS Redis (Redis de software livre) e um produto comercializado da Redis Inc. (Redis Enterprise) como serviço gerenciado. Ele fornece instâncias de servidor Redis seguras e dedicadas e compatibilidade total com a API do Redis. A Microsoft opera o serviço, hospedado no Azure e utilizável por qualquer aplicativo dentro ou fora do Azure.
O Cache do Azure para Redis pode ser usado como um cache de dados ou conteúdo distribuído, um repositório de sessão, um agente de mensagem e muito mais. Ele pode ser implantado de forma independente. Ou, pode ser implantado junto com outros serviços de banco de dados do Azure, como o SQL do Azure ou o Azure Cosmos DB.
Principais cenários
O Cache do Azure para Redis aprimora o desempenho do aplicativo dando suporte a padrões de arquitetura de aplicativo comuns. Alguns dos mais comuns incluem os seguintes padrões:
Padrão | Descrição |
---|---|
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, somente conforme necessário. Quando o sistema faz alterações nos dados, ele também pode atualizar o cache, que será distribuído a outros clientes. Além disso, o sistema pode definir uma expiração em dados ou usar uma política de remoção para disparar atualizações de dados para o cache. |
Cache de conteúdo | Muitas páginas da Web são geradas com base em modelos que usam conteúdo estático, como cabeçalhos, rodapés e faixas. 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 servidores Web sejam mais responsivos. Ele pode permitir que você reduza o número de servidores necessários para lidar com cargas. O Cache do Azure para Redis fornece o Provedor de Cache de Saída do Redis para dar suporte a esse padrão com o ASP.NET. |
Repositório de sessão | Esse padrão é geralmente usado com carrinhos de compras e outros dados de histórico do usuário que um aplicativo Web pode associar aos cookies do usuário. O armazenamento de muitas informações em um cookie pode ter um efeito negativo no desempenho conforme o tamanho do cookie aumenta e é passado e validado com 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, para associar as informações a um usuário é mais rápido que a interação com um banco de dados relacional completo. |
Enfileiramento de mensagens e trabalhos | Aplicativos geralmente adicionam tarefas a uma fila quando as operações associadas à solicitação levam tempo para serem executadas. As operações de execução mais longa são enfileiradas para serem processadas em sequência, muitas vezes por outro servidor. Esse método de adiamento do trabalho é chamado de enfileiramento de tarefas. O Cache do Azure para Redis 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 relação a um armazenamento de dados de back-end para serem executados como uma única operação atômica. Todos os comandos devem ter êxito ou ser revertidos para o estado inicial. O Cache do Azure para Redis dá suporte à execução de um lote de comandos como uma única transação. |
Versão do Redis
O Cache do Azure para Redis dá suporte ao software livre do Redis versão 4.0.x e 6.0.x. Tomamos a decisão de pular o Redis 5.0 para trazer a você 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 seu aplicativo.
Camadas de serviço
O Cache do Azure para Redis está disponível nas camadas:
Camada | Descrição |
---|---|
Basic | Um cache do software livre do Redis em execução em uma VM. Esta camada não tem nenhum contrato de nível de serviço (SLA) e é ideal para o desenvolvimento/teste e cargas de trabalho não críticas. |
Standard | Um cache do software livre do Redis em execução em duas VMs em uma configuração replicada. |
Premium | Caches do software livre do Redis de alto desempenho. Essa camada oferece maior taxa de transferência, latência mais baixa, melhor disponibilidade e mais recursos. Os caches Premium são implantados em VMs mais avançadas em comparação com as VMs para caches Básico ou Standard. |
Enterprise | Caches de alto desempenho da plataforma de software Redis Enterprise da Redis Inc. Essa camada dá suporte a módulos do Redis incluindo RediSearch, RedisBloom, RedisJSON e RedisTimeSeries. Além disso, ela oferece uma disponibilidade ainda maior do que a camada Premium. |
Enterprise Flash | Caches grandes econômicos da plataforma de software Redis Enterprise da Redis Inc. Esta camada estende o armazenamento de dados do Redis para a memória não volátil, que é mais em conta que DRAM em uma VM. Ele reduz o custo de memória geral por GB. |
Comparação de recursos
O Preço do Cache do Azure para Redis fornece uma comparação detalhada de cada camada. A seguinte tabela ajuda a descrever alguns dos recursos compatíveis por camada:
Descrição do recurso | Basic | Standard | Premium | Enterprise | Enterprise Flash |
---|---|---|---|---|---|
Contrato de nível de serviço (SLA) | Não | Sim | Sim | Sim | Sim |
Criptografia de dados em trânsito | Sim | Sim | Sim | Sim | Sim |
Isolamento da rede | Sim | Sim | Sim | Sim | Sim |
Dimensionamento | Sim | Sim | Sim | Sim | Sim |
Clustering de OSS | Não | No | Sim | Sim | Sim |
Persistência de dados | Não | No | Sim | Versão Prévia | Visualização |
Redundância de zona | Não | Versão Prévia | Versão Prévia | Disponível | Disponível |
Replicação geográfica | Não | No | Sim (Passivo) | Sim (Ativo) | Sim (Ativo) |
Registros de auditoria da conexão | Não | No | Sim (baseado em pesquisa) | Sim (baseado em evento) | Sim (baseado em evento) |
Módulos do Redis | Não | No | No | Sim | Visualizar |
Importar/exportar | Não | No | Sim | Sim | Sim |
Reboot | Sim | Sim | Sim | Não | No |
Atualizar o canal e agendar atualizações | Sim | Sim | Sim | Não | Número |
Observação
A camada Enterprise Flash atualmente suporta apenas o módulo RediSearch (em versão prévia) e o módulo RedisJSON.
Observação
No momento, as camadas Enterprise e Enterprise Flash dão suporte apenas ao dimensionamento vertical e ao dimensionamento. Ainda não há suporte para dimensionamento e redução horizontal.
Escolher a camada correta
Considere as seguintes opções ao escolher uma camada do Cache do Azure para Redis:
- Memória: Os níveis Básico e Padrão oferecem 250 MB – 53 GB; o nível Premium 6 GB - 1,2 TB; o nível Enterprise 1 GB - 2 TB e o nível Enterprise Flash 300 GB - 4,5 TB. Para criar instâncias de cache de tamanho maior, você pode usar o escalonamento horizontal. Para obter mais informações, consulte Preço do Cache do Azure para Redis.
- Desempenho: os caches nas camadas Premium e Enterprise são implantados no hardware que tem processadores mais rápidos e que oferece um melhor desempenho quando comparado com as camadas Básica ou Standard. Normalmente, a camada Enterprise tem o melhor desempenho para a maioria das cargas de trabalho, especialmente com instâncias de cache maiores. Para obter mais informações, confira Teste de desempenho.
- Núcleo dedicado para o servidor do Redis: todos os caches, exceto o C0 executam vCPUs dedicadas. As camadas Básico, Standard e Premium executam o Redis de código aberto, que, por design, usa apenas um thread para o processamento de comandos. Nessas camadas, ter mais vCPUs costuma aprimorar o desempenho da taxa de transferência, porque o Cache do Azure para Redis 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 escala horizontal costuma aumentar o desempenho mais do que a escala vertical nessas camadas. 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. Nas camadas Enterprise e Enterprise Flash, recomendamos usar a escala vertical antes da escala horizontal. Para obter mais informações, confira Fragmentação e utilização da CPU.
- Desempenho de rede: se você tiver uma carga de trabalho que exija uma alta taxa de transferência, a camada Premium ou Enterprise oferece mais largura de banda quando comparada com as camadas Básica ou Standard. Também dentro de cada camada, caches de tamanhos maiores 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 no seu aplicativo. Para obter mais informações, confira Teste de desempenho.
- Número máximo de conexões de cliente: as camadas Premium e Enterprise oferecem o número máximo de clientes que podem se conectar ao Redis, ao oferecer números maiores de conexões para caches de tamanhos maiores. O clustering aumenta a quantidade total de largura de banda de rede disponível para um cache clusterizado.
- Alta disponibilidade: o Cache do Azure para Redis fornece várias opções de alta disponibilidade. Ele garante que um cache Standard, Premium ou Enterprise esteja disponível conforme nosso SLA. o SLA abrange apenas a conectividade com os pontos de extremidade do cache. O SLA não abrange a proteção contra perda de dados. Recomendamos usar o recurso de persistência de dados do Redis nas camadas Premium e Enterprise para aumentar a resiliência contra a perda de dados.
- Persistência de dados: as camadas Premium e Enterprise permitem que você mantenha os dados do cache em uma conta do Armazenamento do Azure e em um Disco Gerenciado respectivamente. Problemas de infraestrutura subjacente podem resultar em uma possível perda de dados. Recomendamos usar o recurso de persistência de dados do Redis nessas camadas para aumentar a resiliência contra a perda de dados. O Cache do Azure para Redis oferece as opções RDB e AOF (versão prévia). A persistência de dados pode ser habilitada por meio do portal do Azure e da CLI. Para a camada Premium, confira Como configurar a persistência para um Cache do Azure para Redis Premium.
- Isolamento de rede: as implantações de VNet (Rede Virtual) e do Link Privado do Azure fornecem segurança e isolamento de tráfego aprimorados 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, confira o Cache do Azure para Redis com o Link Privado do Azure e Como configurar o suporte da Rede Virtual para um Cache do Azure para Redis Premium.
- Módulos do Redis: as camadas Enterprise dão suporte a RediSearch, RedisBloom, RedisTimeSeries e RedisJSON. Esses módulos adicionam novos tipos de dados e funcionalidades ao Redis.
Você pode dimensionar seu cache do nível Básico até Premium após ele ser criado. No momento, não há suporte para a redução para uma camada inferior. Para obter instruções passo a passo sobre colocação em escala, consulte Como Escalar o Cache do Azure para Redis e Como escalar - camadas do tipo Básico, Padrão e Premium.
Considerações especiais para as camadas Enterprise
As camadas Enterprise dependem do Redis Enterprise, uma variante comercial do Redis da Redis Inc. Os clientes podem obter e pagar uma licença desse software por meio de uma oferta do Azure Marketplace. O Cache do Azure para Redis gerencia a aquisição da licença para que você não precise fazer isso separadamente. Para fazer compras no Azure Marketplace, você precisa ter os seguintes pré-requisitos:
- Sua assinatura do Azure tem um meio de pagamento válido. Não há suporte para créditos Azure ou assinaturas do MSDN gratuitas.
- Sua organização permite compras no Azure Marketplace.
- Se você usa um marketplace privado, ele precisa conter a oferta Enterprise da Redis Inc.
Importante
O Cache do Azure para Redis Enterprise requer Load Balancers de rede Standard que são cobrados separadamente das instâncias de cache propriamente ditas. Atualmente, esses encargos são absorvidos pelo Cache do Azure para Redis e não passados aos clientes. Isso pode mudar no futuro. Para saber mais, confira Preços do Load Balancer.
Se um cache Enterprise estiver configurado para várias Zonas de Disponibilidade, os encargos de transferência de dados serão absorvidos pelo cache do Azure para Redis e não serão passados aos clientes. Isso pode mudar no futuro, em que a transferência de dados seria cobrada com as taxas de largura de banda de rede padrão
Além disso, a persistência de dados adiciona Managed Disks. O uso desses recursos é gratuito durante a versão prévia pública da persistência de dados Enterprise. Isso poderá mudar quando o recurso entrar em disponibilidade geral.
Disponibilidade por região
O Cache do Azure para Redis está se expandindo continuamente para novas regiões. Para verificar a disponibilidade em sua região, consulte Produtos disponíveis por região.
Conteúdo relacionado
- Criar um Cache Redis de software livre
- 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 do Azure para Redis no Node.js
- Usar o Cache do Azure para Redis no Java
- Usar o Cache do Azure para Redis no Python