Configurar a persistência de dados para uma instância de Cache do Azure para Redis

A persistência do Redis permite persistir os dados armazenados na instância de cache. Se houver uma falha de hardware, a instância de cache será reidratada com dados do arquivo de persistência quando ela voltar a ficar online. A capacidade de persistir dados é uma maneira importante de aumentar a durabilidade de uma instância de cache porque todos os dados de cache são armazenados na memória. A perda de dados é possível se ocorrer uma falha quando os nós de cache estiverem inativos. A persistência deve ser uma parte fundamental da sua estratégia de alta disponibilidade e recuperação de desastre com o Cache do Azure para Redis.

Aviso

Se você estiver usando persistência na camada Premium, verifique se sua conta de armazenamento tem a exclusão temporária habilitada antes de usar o recurso de persistência de dados. Usar a persistência de dados com exclusão temporária causa custos de armazenamento muito altos. Para obter mais informações, confira devo habilitar a exclusão temporária?.

Aviso

A opção gravar sempre para persistência do AOF nas camadas Enterprise e Enterprise Flash está definida para ser desativada em 1º de abril de 2025. Essa opção tem limitações significativas de desempenho e não é mais recomendada. Em vez disso, é recomendável usar a opção gravar a cada segundo ou usar a persistência RDB.

Escopo de disponibilidade

Camada Básico, Standard Premium Enterprise, Enterprise Flash
Disponível Não Yes Sim (versão prévia)

Tipos de persistência de dados no Redis

Você tem duas opções de persistência com o Cache do Azure para Redis: o formato Banco de dados do Redis (RDB) e o formato Acrescentar somente arquivo (AOF):

  • Persistência RDB - quando você usa a persistência RDB, o Cache do Azure para Redis persiste um instantâneo do seu cache em um formato binário. O instantâneo é salvo em uma conta de Armazenamento do Microsoft Azure. A frequência de backup configurável determina a frequência de persistência do instantâneo. Se ocorrer um evento catastrófico que desabilite o cache primário e a réplica, o cache será reconstruído automaticamente usando o instantâneo mais recente. Saiba mais sobre as vantagens e as desvantagens de persistência de RDB.
  • Persistência de AOF – quando você usa a persistência AOF, o Cache do Azure para Redis salva cada operação de gravação em um log. O log é salvo pelo menos uma vez por segundo em uma conta de Armazenamento do Microsoft Azure. Se ocorrer um evento catastrófico que desative os caches primário e de réplica, o cache será reconstruído automaticamente usando as operações de gravação armazenadas. Saiba mais sobre as vantagens e as desvantagens da persistência de AOF.

Os recursos de persistência do Cache do Azure para Redis devem ser utilizados para restaurar dados automaticamente no mesmo cache após a perda de dados. Os arquivos de dados persistentes RDB/AOF não podem ser importados para um novo cache ou cache existente. Para mover dados entre caches, use o recurso Importar/Exportar. Para obter mais informações, confira Importar e exportar dados no Cache do Azure para Redis.

Para gerar backups de dados que podem ser adicionados a um novo cache, você pode escrever scripts automatizados usando o PowerShell ou a CLI para exportar dados periodicamente.

Pré-requisitos e limitações

Os recursos de persistência devem ser usados para restaurar dados no mesmo cache após a perda de dados.

  • Os arquivos de dados persistentes RDB/AOF não podem ser importados para um novo cache ou cache existente. Em vez disso, use o recurso Importação/Exportação.
  • Não há suporte para persistência com caches usando replicação geográfica passiva ou replicação geográfica ativa.
  • Na camada Premium, não há suporte para persistência AOF com várias réplicas.
  • Na camada Premium, os dados devem ser persistidos em uma conta de armazenamento na mesma região que a instância de cache.
  • Na camada Premium, contas de armazenamento em assinaturas diferentes podem ser usadas para persistir dados se a identidade gerenciada for usada para se conectar à conta de armazenamento.

Diferenças entre persistência nas camadas Premium e Enterprise

Na camada Premium, os dados são persistidos diretamente em uma conta de Armazenamento do Azure que você possui e gerencia. O Armazenamento do Azure criptografa automaticamente os dados quando eles são persistentes, mas você também pode usar suas próprias chaves para a criptografia. Para obter mais informações, confira Chaves gerenciadas pelo cliente para criptografia do Armazenamento do Azure.

Aviso

Se você estiver usando persistência na camada Premium, verifique se sua conta de armazenamento tem a exclusão temporária habilitada antes de usar o recurso de persistência de dados. Usar a persistência de dados com exclusão temporária causa custos de armazenamento muito altos. Para obter mais informações, confira devo habilitar a exclusão temporária?.

Nas camadas Enterprise e Enterprise Flash, os dados são persistidos em um disco gerenciado anexado diretamente à instância de cache. O local não é configurável nem acessível ao usuário. O uso de um disco gerenciado aumenta o desempenho da persistência. O disco é criptografado usando chaves gerenciadas pela Microsoft (MMK) por padrão, mas chaves gerenciadas pelo cliente (CMK) também podem ser usadas. Para obter mais informações, confira gerenciamento de criptografia de dados.

Como configurar a persistência de dados usando o portal do Azure

  1. Para criar um cache Premium, acesse o portal do Azure e selecione Criar um recurso. Você pode criar caches no Portal do Azure. Você também pode criá-los usando os modelos do Resource Manager, o PowerShell ou a CLI do Azure. Para obter mais informações sobre a criação de um Cache do Azure para Redis, consulte Criar um cache.

    Captura de tela que mostra uma forma de criar um recurso do Cache do Azure para Redis.

  2. Na página Criar recurso, selecione Bancos de dados, em seguida, Cache do Azure para Redis.

    Captura de tela que mostra o Cache do Azure para Redis selecionado como novo tipo de banco de dados.

  3. Na página Novo Cache Redis, defina as configurações do novo cache premium.

    Configuração Valor sugerido DESCRIÇÃO
    Nome DNS Insira um nome global exclusivo. O nome do cache deve conter de 1 a 63 caracteres e incluir somente números, letras ou hifens. O nome precisa começar e terminar com um número ou uma letra e não pode conter hifens consecutivos. O nome do host da instância de cache é \<DNS name>.redis.cache.windows.net.
    Assinatura Clique na lista suspensa e selecione sua assinatura. A assinatura na qual essa nova instância do Cache do Azure para Redis será criada.
    Grupo de recursos Clique na lista suspensa e selecione um grupo de recursos ou selecione Criar novo e insira um nome para o novo grupo de recursos. Nome do grupo de recursos no qual o cache e outros recursos serão criados. Ao colocar todos os seus recursos de aplicativos em um só grupo de recursos, você pode gerenciá-los ou excluí-los juntos com facilidade.
    Localidade Clique na lista suspensa e selecione uma localização. Selecione uma região perto de outros serviços que usam o seu cache.
    Tipo de cache Clique na lista suspensa e selecione um cache premium para configurar os recursos premium. Para ver detalhes, confira Preço do Cache do Azure para Redis. O tipo de preço determina o tamanho, o desempenho e os recursos disponíveis para o cache. Para obter mais informações, confira Visão geral do Cache do Azure para Redis.
  4. Selecione a guia Rede ou o botão Rede na parte inferior da página.

  5. Na guia Rede, escolha o método de conectividade. Para instâncias de cache Premium, você pode se conectar de maneira pública, por meio de endereços IP públicos ou de pontos de extremidade de serviço. Você se conecta de forma privada usando um ponto de extremidade privado.

  6. Selecione a guia Próximo: Avançado ou o botão Próximo: Avançado na parte inferior da página.

  7. Na guia avançado para uma instância de cache Premium, defina as configurações para porta não TLS, do clustering e persistência de dados. Para persistência de dados, você pode escolher a persistência de RDB ou AoF.

  8. Para habilitar a persistência de RDB, clique em RDB e defina as configurações.

    Configuração Valor sugerido Descrição
    Método de Autenticação Clique na Lista suspensa e selecione um método de autenticação. As opções são Identidade Gerenciada ou Chave de Armazenamento Escolha o método de autenticação preferido. O uso da identidade gerenciada permite que você use uma conta de armazenamento em uma assinatura diferente daquela em que o cache está localizado.
    Assinatura Clique na lista suspensa e selecione uma assinatura. Você pode escolher uma conta de armazenamento em uma assinatura diferente se estiver usando a identidade gerenciada como o método de autenticação.
    Frequência de backup Clique no menu suspenso e selecione um intervalo de backup. As opções incluem 15 minutos, 30 minutos, 60 minutos, 6 horas, 12 horas e 24 horas. Esse intervalo inicia a contagem regressiva depois que a operação de backup anterior for concluída com êxito. Quando ele é iniciado, um novo backup é iniciado.
    Conta de armazenamento Clique na lista suspensa e selecione sua conta de armazenamento. Escolha uma conta de armazenamento na mesma região e a assinatura do cache. Uma Armazenamento Premium é recomendada porque ela tem uma taxa de transferência mais alta. Além disso, desencorajamos fortemente o uso do recurso de exclusão temporária na conta de armazenamento, pois ele leva ao aumento dos custos de armazenamento. Para obter mais informações, consulte Preço e cobrança.
    Chave de Armazenamento Clique na lista suspensa e escolha a chave primária ou secundária a ser usada. Se a chave de armazenamento para a sua conta de persistência for regenerada, você deverá reconfigurar a chave desejada no menu suspenso Chave de Armazenamento.

    O primeiro backup é iniciado após decorrido o intervalo de frequência de backup.

    Observação

    Quando é feito backup dos arquivos RDB para o armazenamento, eles são armazenados na forma de blobs de páginas. Se você estiver usando uma conta de armazenamento com HNS habilitado, a persistência tende a falhar porque não há suporte para blobs de páginas em contas de armazenamento com HNS habilitado (ADLS Gen2).

  9. Para habilitar a persistência do AOF, clique em AOF e defina as configurações.

    Configuração Valor sugerido Descrição
    Método de Autenticação Clique na Lista suspensa e selecione um método de autenticação. As opções são Identidade Gerenciada ou Chave de Armazenamento Escolha o método de autenticação preferido. O uso da identidade gerenciada permite que você use uma conta de armazenamento em uma assinatura diferente daquela em que o cache está localizado.
    Assinatura Clique na lista suspensa e selecione uma assinatura. Você pode escolher uma conta de armazenamento em uma assinatura diferente se estiver usando a identidade gerenciada como o método de autenticação.
    Primeira conta de armazenamento Clique na lista suspensa e selecione sua conta de armazenamento. Escolha uma conta de armazenamento na mesma região e a assinatura do cache. Uma Armazenamento Premium é recomendada porque ela tem uma taxa de transferência mais alta. Além disso, desencorajamos fortemente o uso do recurso de exclusão temporária na conta de armazenamento, pois ele leva ao aumento dos custos de armazenamento. Para obter mais informações, consulte Preço e cobrança.
    Primeira chave de armazenamento Clique na lista suspensa e escolha a chave primária ou secundária a ser usada. Se a chave de armazenamento para a sua conta de persistência for regenerada, você deverá reconfigurar a chave desejada no menu suspenso Chave de Armazenamento.
    Segunda conta de armazenamento (Adicional) Clique na lista suspensa e selecione sua conta de armazenamento secundária. Como opção, você pode configurar uma conta de armazenamento adicional. Se uma segunda conta de armazenamento for configurada, as gravações no cache de réplica serão gravadas nessa segunda conta de armazenamento.
    Segunda chave de armazenamento (Adicional) Clique na lista suspensa e escolha a chave primária ou secundária a ser usada. Se a chave de armazenamento para a sua conta de persistência for regenerada, você deverá reconfigurar a chave desejada no menu suspenso Chave de Armazenamento.

    Com a persistência de AOF habilitada, as operações de gravação no cache serão salvas na conta de armazenamento designada (ou contas, se você tiver configurado uma segunda conta de armazenamento). No caso de uma falha catastrófica que desative o cache primário e de réplica, o log de AOF armazenado será usado para recriar o cache.

  10. Selecione a guia Próximo: Marcas ou o botão Próximo: Marcas na parte inferior da página.

  11. Opcionalmente, na guia Marcas, insira o nome e o valor caso deseje categorizar o recurso.

  12. Selecione Examinar + criar. Você será levado para a guia Examinar + criar, na qual o Azure valida sua configuração.

  13. Depois que a mensagem em verde Validação aprovada for exibida, selecione Criar.

A criação do cache demora um pouco. Monitore o progresso na página Visão Geral do Cache do Azure para Redis. Quando o Status for mostrado como Em execução, o cache estará pronto para uso.

Como configurar a persistência de dados usando o PowerShell e a CLI do Azure

O comando New-AzRedisCache pode ser usado para criar um novo cache de camada Premium usando persistência de dados. Veja exemplos de persistência RDB e persistência AOF

Os caches existentes podem ser atualizados usando o comando Set-AzRedisCache. Veja exemplos de como adicionar persistência a um cache existente.

O comando az redis create pode ser usado para criar um novo cache de camada Premium usando persistência de dados. Por exemplo:

az redis create --location westus2 --name MyRedisCache --resource-group MyResourceGroup --sku Premium --vm-size p1 --redis-configuration @"config_rdb.json"

Os caches existentes podem ser atualizados usando o comando az redis update. Por exemplo:

az redis update --name MyRedisCache --resource-group MyResourceGroup --set "redisConfiguration.rdb-storage-connection-string"="BlobEndpoint=https//..." "redisConfiguration.rdb-backup-enabled"="true" "redisConfiguration.rdb-backup-frequency"="15" "redisConfiguration.rdb-backup-max-snapshot-count"="1"

Gerenciando a criptografia de dados

Como a persistência do Redis cria dados inativos, criptografar esses dados é uma preocupação importante para muitos usuários. As opções de criptografia variam de acordo com a camada de Cache do Azure para Redis que está sendo usada.

Com a camada Premium, os dados são transmitidos diretamente da instância de cache para o Armazenamento do Microsoft Azure quando a persistência é iniciada. Vários métodos de criptografia podem ser usados com o Armazenamento do Azure, incluindo chaves gerenciadas pela Microsoft, chaves gerenciadas pelo cliente e chaves fornecidas pelo cliente. Para obter informações sobre métodos de criptografia, confira Criptografia do Armazenamento do Microsoft Azure para dados inativos.

Com as camadas Enterprise e Enterprise Flash, os dados são armazenados em um disco gerenciado montado na instância de cache. Por padrão, o disco que contém os dados de persistência e o disco do sistema operacional são criptografados usando chaves gerenciadas pela Microsoft. Uma chave gerenciada pelo cliente (CMK) também pode ser usada para controlar a criptografia de dados. Confira Criptografia em caches de camada Enterprise para obter instruções.

Perguntas frequentes sobre persistência

A lista a seguir contém respostas para perguntas frequentes sobre a persistência do Cache Redis do Azure.

Persistência de RDB

Persistência de AOF

Posso habilitar a persistência em um cache criado anteriormente?

Sim, a persistência do Redis pode ser configurada ao criar o cache e em caches Premium, Enterprise ou Enterprise Flash existentes.

Posso habilitar a persistência de AOF e RDB ao mesmo tempo?

Não, você pode habilitar apenas RDB ou AOF, mas não ambas ao mesmo tempo.

Como a persistência funciona com a replicação geográfica?

Se você habilitar a persistência de dados, a replicação geográfica não poderá ser habilitada para seu cache.

Qual modelo de persistência eu devo escolher?

A persistência AOF salva todas as gravações em um log, o que tem um efeito significativo na taxa de transferência. Comparado AOF com persistência de RDB, que salva backups com base no intervalo de backup configurado com efeito mínimo para o desempenho. Escolha a persistência de AOF se o seu principal objetivo for minimizar a perda de dados, e se você pode manipular uma diminuição na taxa de transferência de seu cache. Escolha a persistência de RDB se você quiser manter a taxa de transferência ideal em seu cache, mas ainda quiser um mecanismo para recuperação de dados.

Para saber mais sobre o desempenho ao usar a persistência AOF, veja A persistência AOF afeta a taxa de transferência, latência ou desempenho de meu cache?

A persistência AOF afeta a taxa de transferência, latência ou desempenho de meu cache?

Sim, a persistência AOF afeta a taxa de transferência. O AOF é executado no processo primário e réplica, portanto, você vê maior carga de servidor e CPU para um cache com persistência AOF do que para um cache idêntico sem persistência AOF. O AOF oferece a melhor consistência com os dados na memória porque cada gravação e exclusão é persistida com apenas alguns segundos de atraso. A desvantagem é que o AOF é mais intensivo em computação.

Desde que a CPU e a Carga do Servidor sejam inferiores a 90%, há uma penalidade na taxa de transferência, mas o cache opera normalmente, fora isso. Acima de 90% da CPU e da Carga do Servidor, a penalidade de taxa de transferência pode ficar muito maior e a latência de todos os comandos processados pelo cache aumenta. A latência aumenta porque a persistência AOF é executada no processo primário e réplica, aumentando a carga no nó em uso e colocando persistência no caminho crítico dos dados.

O que acontecerá se eu tiver dimensionado para um tamanho diferente e um backup que foi feito antes da operação de escala for restaurado?

Para a persistência de RDB e AOF:

Posso usar a mesma conta de armazenamento para persistência em dois caches diferentes?

Não, você deve usar contas de armazenamento diferentes para caches diferentes. Cada cache deve ter sua própria conta de armazenamento para configurar para persistência.

Importante

Use contas de armazenamento separadas para persistência e execução de operações de exportação periódicas em um cache.

Serei cobrado pelo armazenamento que está sendo usado na persistência de dados?

  • Para caches Premium, você é cobrado pelo armazenamento que está sendo usado de acordo com o modelo de preços da conta de armazenamento que está sendo usada.
  • Para caches Enterprise e Enterprise Flash, você não é cobrado pelo armazenamento em disco gerenciado. Está incluso no preço.

Com que frequência a persistência de RDB e AOF é escrita em meus blobs e devo habilitar a exclusão temporária?

Recomendamos que você evite habilitar a exclusão temporária em contas de armazenamento quando usadas com a persistência de dados do Cache do Azure para Redis com a camada Premium. A persistência de RDB e AOF pode gravar em seus blobs com a frequência de cada hora, a cada alguns minutos ou a cada segundo. Além disso, a habilitação da exclusão temporária em uma conta de armazenamento Cache do Azure para Redis não pode minimizar os custos de armazenamento excluindo os dados de backup antigos.

A exclusão temporária pode se tornar rapidamente cara com os tamanhos de dados típicos de um cache que também executa operações de gravação a cada segundo. Para obter mais informações sobre custos de exclusão temporária, consulte Preço e cobrança.

Posso alterar a frequência de backup de RDB depois de criar o cache?

Sim, você pode alterar a frequência de backup para persistência RDB usando o portal do Azure, a CLI ou o PowerShell.

Por que quando eu tenho uma frequência de backup de RDB de 60 minutos há mais de 60 minutos entre os backups?

O intervalo da frequência de backup da persistência de RDB não é iniciado até que o processo de backup anterior seja concluído com êxito. Se a frequência de backup for de 60 minutos e usar um processo de backup de 15 minutos para concluir com êxito, o próximo backup não será iniciado até 75 minutos após a hora de início do backup anterior.

O que acontece com os backups de RDB antigos quando um backup novo é realizado?

Todos os backups da persistência de RDB, exceto pelo mais recente, serão excluídos automaticamente. Essa exclusão pode não acontecer imediatamente, mas os backups mais antigos não são persistidos por tempo indeterminado. Se você estiver usando a camada Premium para persistência e a exclusão temporária estiver ativa para sua conta de armazenamento, a configuração da exclusão temporária será aplicada e os backups existentes continuarão residindo no estado de exclusão temporária.

Quando devo usar uma segunda conta de armazenamento?

Você deve usar uma segunda conta de armazenamento para a persistência AOF quando acreditar que tem mais operações de conjunto do que o esperado no cache. Configurar a conta de armazenamento secundária ajuda a garantir que o cache não atinja os limites de largura de banda de armazenamento. Esta opção está disponível somente para caches de camada Premium.

Como posso remover a segunda conta de armazenamento?

Você pode remover a conta de armazenamento secundária de persistência de AOF definindo a segunda conta de armazenamento como a mesma que a primeira conta de armazenamento. Para caches existentes, acesse Persistência de dados no Menu de recursos do seu cache. Para desabilitar a persistência do AOF, clique em Desabilitado.

O que é uma regravação e como ela afeta meu cache?

Quando o arquivo AOF fica muito grande, uma regeneração é automaticamente enfileirada no cache. A regeneração redimensiona o arquivo AOF com o conjunto mínimo de operações necessárias para criar o conjunto de dados atual. Durante as regravações, você pode esperar atingir os limites de desempenho mais cedo, especialmente ao lidar com grandes conjuntos de dados. As regravações ocorrem com menos frequência à medida que o arquivo de AOF fica maior, mas demoram muito mais quando acontecem.

O que devo esperar ao dimensionar um cache com o AOF habilitado?

Se o arquivo de AOF no momento da colocação em escala for grande, espere que a operação de dimensionamento demore mais do que o esperado, pois ela recarrega o arquivo após a conclusão do dimensionamento.

Para saber mais sobre dimensionamento, confira O que acontecerá se eu tiver dimensionado para um tamanho diferente e um backup que foi feito antes da operação de escala for restaurado?

Como os dados de AOF são organizados no armazenamento?

Quando você usa a camada Premium, os dados armazenados em arquivos AOF são divididos em vários blobs de páginas por fragmento. Por padrão, metade dos blobs são salvos na conta de armazenamento primário e metade é salva na conta de armazenamento secundária. Dividir os dados entre vários blobs de páginas e duas contas de armazenamento diferentes aumenta o desempenho.

Se a taxa de pico de gravações no cache não for muito alta, esse desempenho extra talvez não seja necessário. Nesse caso, a configuração da conta de armazenamento secundária pode ser removida. Todos os arquivos AOF são armazenados em uma única conta de armazenamento primária. A tabela a seguir exibe quantos blobs de páginas totais são usados para cada tipo de preço:

Camada premium Blobs
P1 8 por fragmento
P2 16 por fragmento
P3 32 por fragmento
P4 40 por fragmento

Quando o clustering estiver habilitado, cada fragmento no cache terá seu próprio conjunto de blobs de página, conforme indicado na tabela anterior. Por exemplo, um cache de P2 com três fragmentos distribui seu arquivo AOF em 48 blobs de páginas: dezesseis blobs por fragmento, com três fragmentos.

Após uma regeneração, dois conjuntos de arquivos AOF existirão no armazenamento. As regravações ocorrem em segundo plano e acrescentam ao primeiro conjunto de arquivos. Definir operações, enviadas para o cache durante a regravação, anexar ao segundo conjunto. Um backup é armazenado temporariamente durante as regravações em caso de falha. O backup é imediatamente excluído após a regravação ser finalizada. Caso se a exclusão temporária estiver ativa para sua conta de armazenamento, a configuração da exclusão temporária será aplicada e os backups existentes continuarão no estado de exclusão temporária.

Ter exceções de firewall na conta de armazenamento afetará a persistência?

O uso da identidade gerenciada adiciona a instância de cache à lista de serviços confiáveis, facilitando a realização de exceções de firewall. Se você não estiver usando a identidade gerenciada e, em vez disso, autorizar uma conta de armazenamento usando uma chave, ter exceções de firewall na conta de armazenamento tende a interromper o processo de persistência. Isso só se aplica à persistência na camada Premium.

Posso ter a persistência de AOF habilitada se eu tiver mais de uma réplica?

Com a camada Premium, você não pode usar a persistência de Arquivo somente acréscimo (AOF) com várias réplicas. Nas camadas Enterprise e Enterprise Flash, a arquitetura de réplica é mais complicada, mas há suporte para persistência AOF quando caches Enterprise são usados na implantação com redundância de zona.

Como fazer para verificar se a exclusão temporária está habilitada na minha conta de armazenamento?

Selecione a conta de armazenamento que seu cache está usando para persistência. Selecione Proteção de Dados no menu Recurso. No painel de trabalho, verifique o estado de Habilitar exclusão temporária de blobs. Para obter mais informações sobre a exclusão temporária nas contas de armazenamento do Azure, consulte Habilitar a exclusão temporária para blobs.

Próximas etapas

Saiba mais sobre os recursos do Cache do Azure para Redis.