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

A persistência do Redis permite que você persista 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 ele voltar a ficar online. A capacidade de persistir dados é uma maneira importante de aumentar a durabilidade de uma instância de cache, pois 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 desastres com o Cache do Azure para Redis.

Aviso

Se você estiver usando persistência no nível Premium, verifique se sua conta de armazenamento tem a exclusão suave habilitada antes de usar o recurso de persistência de dados. A utilização da persistência de dados com a eliminação recuperável origina custos de armazenamento muito elevados. Para obter mais informações, consulte Devo ativar a exclusão suave?.

Aviso

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

Âmbito da disponibilidade

Escalão de serviço Básico, Standard Premium Empresa, Enterprise Flash
Disponível Não Sim Sim (pré-visualização)

Tipos de persistência de dados no Redis

Você tem duas opções para persistência com o Cache do Azure para Redis: o formato de banco de dados Redis (RDB) e o formato Append only File (AOF):

  • Persistência RDB - Quando você usa a persistência RDB, o Cache Redis do Azure persiste um instantâneo do cache em um formato binário. O instantâneo é salvo em uma conta de Armazenamento do Azure. A frequência de backup configurável determina a frequência com que o snapshot deve ser persistido. Se ocorrer um evento catastrófico que desative o cache primário e de réplica, o cache será reconstruído automaticamente usando o instantâneo mais recente. Saiba mais sobre as vantagens e desvantagens da persistência do RDB.
  • Persistência AOF - Quando você usa a persistência AOF, o Cache Redis do Azure salva todas as operações de gravação em um log. O log é salvo pelo menos uma vez por segundo em uma conta de Armazenamento do 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 desvantagens da persistência de AOF.

Os recursos de persistência do Cache do Azure para Redis destinam-se a ser usados para restaurar dados automaticamente para o 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 para o cache existente. Para mover dados entre caches, use o recurso Importar e Exportar . Para obter mais informações, consulte 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 que exportam dados periodicamente.

Pré-requisitos e limitações

Os recursos de persistência destinam-se a ser usados para restaurar dados para o 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 para o cache existente. Em vez disso, use o recurso Importar/Exportar .
  • Não há suporte para persistência em caches que usam replicação geográfica passiva ou replicação geográfica ativa.
  • Na camada Premium, a persistência do AOF não é suportada com várias réplicas.
  • Na camada Premium, os dados devem ser mantidos em uma conta de armazenamento na mesma região da instância de cache.
  • No nível Premium, as contas de armazenamento em assinaturas diferentes podem ser usadas para manter os dados se a identidade gerenciada for usada para se conectar à conta de armazenamento.

Diferenças entre a persistência nos níveis Premium e Enterprise

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

Aviso

Se você estiver usando persistência no nível Premium, verifique se sua conta de armazenamento tem a exclusão suave habilitada antes de usar o recurso de persistência de dados. A utilização da persistência de dados com a eliminação recuperável origina custos de armazenamento muito elevados. Para obter mais informações, consulte Devo ativar a exclusão suave?.

Nas camadas Enterprise e Enterprise Flash, os dados são mantidos em um disco gerenciado conectado 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 da Microsoft (MMK) por padrão, mas as chaves gerenciadas pelo cliente (CMK) também podem ser usadas. Para obter mais informações, consulte Gerenciando criptografia de dados.

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

  1. Para criar um cache Premium, entre no portal do Azure e selecione Criar um recurso. Você pode criar caches no portal do Azure. Você também pode criá-los usando modelos do Gerenciador de Recursos, PowerShell ou CLI do Azure. Para obter mais informações sobre como criar um Cache do Azure para Redis, consulte Criar um cache.

    Captura de tela que mostra um formulário para criar um recurso do Cache do Azure para Redis.

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

    Captura de tela mostrando o Cache Redis do Azure selecionado como um novo tipo de banco de dados.

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

    Definição Valor sugerido Description
    Nome DNS Introduza um nome globalmente exclusivo. O nome do cache deve ser uma cadeia de caracteres entre 1 e 63 caracteres que contenha apenas números, letras ou hífenes. O nome deve começar e terminar com um número ou letra e não pode conter hífenes consecutivos. O nome do host para sua instância de cache é \<DNS name>.redis.cache.windows.net.
    Subscrição Drop-down e selecione sua assinatura. A assinatura sob a qual criar essa nova instância do Cache do Azure para Redis.
    Grupo de recursos Faça uma lista suspensa e selecione um grupo de recursos ou selecione Criar novo e insira um novo nome de grupo de recursos. Nome do grupo de recursos no qual criar o cache e outros recursos. Ao colocar todos os recursos do seu aplicativo em um grupo de recursos, você pode facilmente gerenciá-los ou excluí-los juntos.
    Location Drop-down e selecione um local. Selecione uma região perto de outros serviços que usam seu cache.
    Tipo de cache Drop-down e selecione um cache premium para configurar recursos premium. Para obter detalhes, consulte Preços do Cache do Azure para Redis. O escalão de preço determina o tamanho, o desempenho e as funcionalidades que estão disponíveis para a cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis.
  4. Selecione a guia Rede ou selecione o botão Rede na parte inferior da página.

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

  6. Selecione a guia Avançar: Avançado ou selecione o botão Avançar: 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, clustering e persistência de dados. Para persistência de dados, você pode escolher persistência RDB ou AOF .

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

    Definição Valor sugerido Description
    Método de Autenticação Drop-down e selecione um método de autenticação. As opções são Identidade Gerenciada ou Chave de Armazenamento Escolha o seu 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.
    Subscrição Drop-down e selecione uma assinatura. Você pode escolher uma conta de armazenamento em uma assinatura diferente se estiver usando a identidade gerenciada como método de autenticação.
    Frequência de backup Drop-down 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 começa a contagem regressiva após a conclusão bem-sucedida da operação de backup anterior. Quando ele expira, um novo backup é iniciado.
    Conta de Armazenamento Drop-down e selecione sua conta de armazenamento. Escolha uma conta de armazenamento na mesma região e assinatura do cache. Uma conta de Armazenamento Premium é recomendada porque tem uma taxa de transferência mais alta. Além disso, é altamente recomendável que você desative o recurso de exclusão suave na conta de armazenamento, pois isso leva ao aumento dos custos de armazenamento. Para obter mais informações, consulte Preço e cobrança.
    Chave de armazenamento Faça uma lista suspensa e escolha a chave primária ou a chave secundária a ser usada. Se a chave de armazenamento da sua conta de persistência for regenerada, você deverá reconfigurá-la na lista suspensa Chave de armazenamento.

    O primeiro backup é iniciado assim que o intervalo de frequência de backup expira.

    Nota

    Quando os arquivos RDB são copiados para armazenamento, eles são armazenados na forma de blobs de página. Se você estiver usando uma conta de armazenamento com HNS habilitado, a persistência tenderá a falhar porque blobs de página não são suportados em contas de armazenamento com HNS habilitado (ADLS Gen2).

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

    Definição Valor sugerido Description
    Método de Autenticação Drop-down e selecione um método de autenticação. As opções são Identidade Gerenciada ou Chave de Armazenamento Escolha o seu 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.
    Subscrição Drop-down e selecione uma assinatura. Você pode escolher uma conta de armazenamento em uma assinatura diferente se estiver usando a identidade gerenciada como método de autenticação.
    Primeira conta de armazenamento Drop-down e selecione sua conta de armazenamento. Escolha uma conta de armazenamento na mesma região e assinatura do cache. Uma conta de Armazenamento Premium é recomendada porque tem uma taxa de transferência mais alta. Além disso, é altamente recomendável que você desative o recurso de exclusão suave na conta de armazenamento, pois isso leva ao aumento dos custos de armazenamento. Para obter mais informações, consulte Preço e cobrança.
    Primeira chave de armazenamento Faça uma lista suspensa e escolha a chave primária ou a chave secundária a ser usada. Se a chave de armazenamento da sua conta de persistência for regenerada, você deverá reconfigurá-la na lista suspensa Chave de armazenamento.
    Segunda conta de armazenamento (Opcional) Drop-down e selecione sua conta de armazenamento secundário. Opcionalmente, você pode configurar outra conta de armazenamento. 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 (Opcional) Faça uma lista suspensa e escolha a chave primária ou a chave secundária a ser usada. Se a chave de armazenamento da sua conta de persistência for regenerada, você deverá reconfigurá-la na lista suspensa Chave de armazenamento.

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

  10. Selecione a guia Next: Tags ou selecione o botão Next: Tags na parte inferior da página.

  11. Opcionalmente, na guia Marcas , insira o nome e o valor se desejar categorizar o recurso.

  12. Selecione Rever + criar. Você é levado para a guia Revisão + criação, onde o Azure valida sua configuração.

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

Demora um pouco para o cache ser criado. Você pode monitorar o progresso na página Visão geral do Cache do Azure para Redis. Quando Status é exibido como Em execução, o cache está 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 adição de 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 em repouso, criptografar esses dados é uma preocupação importante para muitos usuários. As opções de criptografia variam de acordo com a camada do Cache Redis do Azure que está sendo usada.

Com a camada Premium, os dados são transmitidos diretamente da instância de cache para o Armazenamento do 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, consulte Criptografia do Armazenamento do Azure para dados em repouso.

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. Consulte 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 do RDB

Persistência do AOF

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

Sim, a persistência pode ser configurada tanto na criação de cache quanto em caches Premium, Enterprise ou Enterprise Flash existentes.

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

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

Como funciona a persistência 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.

Que modelo de persistência devo escolher?

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

Para obter mais informações sobre o desempenho ao usar a persistência do AOF, consulte A persistência do AOF afeta a taxa de transferência, a latência ou o desempenho do meu cache?

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

A persistência do AOF afeta a taxa de transferência. O AOF é executado no processo primário e de réplica, portanto, você vê uma CPU e uma carga de servidor mais altas para um cache com persistência AOF do que 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 contrapartida é 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 funciona normalmente, caso contrário. 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 do AOF é executada no processo primário e na réplica, aumentando a carga no nó em uso e colocando a persistência no caminho crítico dos dados.

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

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 execute 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á incluído no preço.

Com que frequência a persistência RDB e AOF grava em meus blobs e devo habilitar a exclusão suave?

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

A exclusão suave rapidamente se torna 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 suave, consulte Preços e cobrança.

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

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

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

O intervalo de frequência de backup de persistência RDB não é iniciado até que o processo de backup anterior tenha sido concluído com êxito. Se a frequência de backup for de 60 minutos e um processo de backup levar 15 minutos para ser concluído, 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 RDB antigos quando um novo backup é feito?

Todos os backups de persistência RDB, exceto o mais recente, são excluídos automaticamente. Essa exclusão pode não acontecer imediatamente, mas os backups mais antigos não são mantidos indefinidamente. Se você estiver usando a camada Premium para persistência e a exclusão suave estiver ativada para sua conta de armazenamento, a configuração de exclusão suave será aplicada e os backups existentes continuarão a residir no estado de exclusão suave.

Quando devo usar uma segunda conta de armazenamento?

Use uma segunda conta de armazenamento para persistência do AOF quando achar que tem operações de conjunto acima do esperado no cache. Configurar a conta de armazenamento secundário ajuda a garantir que o cache não atinja os limites de largura de banda de armazenamento. Esta opção só está disponível para caches de nível Premium.

Como posso remover a segunda conta de armazenamento?

Você pode remover a conta de armazenamento secundário de persistência AOF definindo a segunda conta de armazenamento como igual à primeira conta de armazenamento. Para caches existentes, acesse a persistência de dados no menu Recurso do cache. Para desativar a persistência do AOF, selecione Desativado.

O que é uma reescrita e como ela afeta meu cache?

Quando o arquivo AOF se torna grande o suficiente, uma regravação é automaticamente enfileirada no cache. A regravaçã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 AOF se torna maior, mas levam uma quantidade significativa de tempo quando acontecem.

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

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

Para obter mais informações sobre dimensionamento, consulte O que acontece se eu tiver dimensionado para um tamanho diferente e for restaurado um backup que foi feito antes da operação de dimensionamento?

Como meus dados 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ágina por fragmento. Por padrão, metade dos blobs são salvos na conta de armazenamento principal e metade é salva na conta de armazenamento secundário. Dividir os dados em vários blobs de página 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 pode não ser necessário. Nesse caso, a configuração da conta de armazenamento secundário pode ser removida. Em vez disso, todos os arquivos AOF são armazenados apenas na única conta de armazenamento principal. A tabela a seguir exibe quantos blobs de página totais são usados para cada nível de preço:

Escalão Premium Blobs
P1 8 por estilhaço
P2 16 por estilhaço
P3 32 por estilhaço
P4 40 por estilhaço

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

Após uma regravação, dois conjuntos de arquivos AOF existem 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 se houver uma falha. O backup é prontamente excluído após a conclusão de uma regravação. Se a exclusão suave estiver ativada para sua conta de armazenamento, a configuração de exclusão suave será aplicada e os backups existentes continuarão no estado de exclusão suave.

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 execuçã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 no nível Premium.

Posso habilitar a persistência do AOF se tiver mais de uma réplica?

Com a camada Premium, não é possível usar a persistência AOF (Append-only File) com várias réplicas. Nas camadas Enterprise e Enterprise Flash, a arquitetura de réplica é mais complicada, mas a persistência AOF é suportada quando caches Enterprise são usados na implantação redundante de zona.

Como posso verificar se a eliminação suave está ativada na minha conta de armazenamento?

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

Próximos passos

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