Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 24125|Resposta: 2

[Redis] Diferença de persistência Redis entre RDB e AOF

[Copiar link]
Publicado em 04/02/2021 13:47:27 | | | |
Redis Windows 64-bit download, endereço oficial de download
https://www.itsvse.com/thread-2576-1-1.html

Redis tem três formas de começar
https://www.itsvse.com/thread-4008-1-1.html

A diferença entre save e bgsave no redis
https://www.itsvse.com/thread-4010-1-1.html

Instalação do CentOS 7 Tutorial Redis 5.0.3
https://www.itsvse.com/thread-7201-1-1.html


1. Prefácio

Recentemente, o Redis tem sido usado como cache no projeto para facilitar o compartilhamento de dados entre múltiplos processos de negócios. Como os dados do Redis são armazenados na memória, se a persistência não estiver configurada, todos os dados serão perdidos após o reinício do Redis, então você precisa ativar a função de persistência do Redis para salvar os dados no disco, e quando o Redis for reiniciado, pode recuperar os dados do disco. O Redis oferece duas formas de persistir: persistência no RDB (o princípio é despejar os registros do banco de dados de Reids na memória para a persistência do RDB no disco) e a outra é a persistência AOF (o princípio é escrever os logs de operações de Reids em um arquivo na forma de um apêndice). Então, qual é a diferença entre esses dois métodos de persistência e como escolher mudá-los? A maioria das coisas que leio na Internet explica como configurar e usar esses dois métodos, mas não há introdução à diferença entre os dois e em quais cenários de aplicação usar.


2. A diferença entre os dois

Persistência RDB refere-se à gravação de um snapshot do conjunto de dados na memória em disco dentro de um intervalo de tempo especificado, e o processo operacional real é bifurcar um subprocesso, primeiro escrever o conjunto de dados em um arquivo temporário, depois substituir o arquivo anterior após o sucesso da gravação, armazenando-o com compressão binária.



A persistência AOF registra cada operação de escrita e exclusão processada pelo servidor na forma de um log, e a operação de consulta não será registrada, mas será registrada em texto, e você pode abrir o arquivo para ver o registro detalhado da operação.



3. Vantagens e desvantagens dos dois

Quais são as vantagens do RDB?

1). Depois de usá-lo, todo o seu banco de dados Redis conterá apenas um arquivo, o que é perfeito para backups de arquivos. Por exemplo, você pode querer arquivar as últimas 24 horas a cada hora, e também arquivar os últimos 30 dias todos os dias. Com essa estratégia de backup, podemos facilmente nos recuperar em caso de uma falha catastrófica do sistema.

2). RDB é uma ótima escolha para recuperação de desastres. Porque podemos facilmente comprimir um único arquivo e transferi-lo para outro meio de armazenamento.

3). Maximizar o desempenho. Para o processo de serviço Redis, a única coisa que ele precisa fazer ao iniciar a persistência é desfazer os processos filhos, e então os processos filhos completarão essas tarefas de persistência, o que pode evitar muito que o processo de serviço execute operações de E/S.

4). Comparado ao mecanismo de AOF, se o conjunto de dados for grande, a eficiência inicial do RDB será maior.

Quais são as desvantagens do RDB?

1). Se você quer garantir alta disponibilidade de dados, ou seja, evitar a perda de dados ao máximo, então o RDB não será uma boa escolha. Porque, uma vez que o sistema cai antes da persistência programada, os dados que foram previamente gravados no disco serão perdidos.

2). Como o RDB auxilia na persistência dos dados por meio de subprocessos de fork, se o conjunto de dados for grande, pode fazer com que todo o servidor pare o serviço por centenas de milissegundos, ou até 1 segundo.

Quais são as vantagens do AOF?

1). Esse mecanismo pode trazer maior segurança de dados, ou seja, persistência de dados. Existem 3 estratégias de sincronização fornecidas no Redis, a saber: sincronização por segundo, sincronização por modificação e dessincronização. Na verdade, a sincronização por segundo também é feita de forma assíncrona, e sua eficiência também é muito alta; a diferença é que, uma vez que o sistema cai do ar, os dados modificados serão perdidos nesse segundo. E toda vez que uma modificação é sincronizada, podemos pensar nela como persistência de sincronização, ou seja, toda alteração de dados que ocorre é imediatamente registrada no disco. É previsível que esse método seja o menos eficiente. Quanto à ausência de sincronização, não há necessidade de dizer mais, acho que todos entendem corretamente.

2). Como o mecanismo adota o modo de anexação para gravar arquivos de log, mesmo que haja um tempo de inatividade durante o processo de escrita, o conteúdo já existente no arquivo de log não será destruído. No entanto, se escrevermos apenas metade dos dados e o sistema travar desta vez, não se preocupe, podemos usar a ferramenta redis-check-aof para nos ajudar a resolver o problema de consistência de dados antes do próximo início do Redis.

3). Se o log for muito grande, o Redis pode ativar automaticamente o mecanismo de reescrita. Ou seja, o Redis grava continuamente os dados de modificação no arquivo de disco antigo no modo de anexação, e o Redis também criará um novo arquivo para registrar quais comandos de modificação são executados durante esse período. Portanto, a segurança dos dados pode ser melhor garantida ao alternar entre reescritas.

4). AOF contém um arquivo de log claro e fácil de entender que registra todas as modificações. Na verdade, também podemos completar a reconstrução dos dados por meio desse arquivo.

Quais são as desvantagens do OV?

1). Para o mesmo número de conjuntos de dados, os arquivos OF geralmente são maiores que os arquivos RDB. O RDB recupera grandes conjuntos de dados mais rápido que o AOF.

2). Dependendo da estratégia de sincronização, o AOF tende a ser mais lento que o RDB em termos de eficiência de execução. Em resumo, a eficiência da política de sincronização por segundo é relativamente alta, e a eficiência da política de desabilitação síncrona é tão eficiente quanto a do RDB.

Os critérios para escolher os dois são se o sistema está disposto a sacrificar algum desempenho em troca de maior consistência de cache (AOF), ou se está disposto a não habilitar backups em troca de maior desempenho quando as operações de escrita são frequentes, e então fazer backups (RDB) ao executar Save manualmente. RDB tem um significado final mais consistente. No entanto, o ambiente de produção é na verdade mais uma combinação dos dois.


4. Configurações comuns

Configuração de persistência RDB

O Redis despeja um snapshot do conjunto de dados no arquivo dump.rdb. Além disso, também podemos modificar a frequência dos snapshots de dump do servidor Redis através do arquivo de configuração; após abrir o arquivo 6379.conf, buscamos por save, e podemos ver as seguintes informações de configuração:



Configuração persistente AOF

Existem três maneiras de sincronizar no perfil Rederis, que são:



Configuração completa:



Um novo arquivo "appendonly.aof" será criado no diretório de teste, conforme segue:





Anterior:O DataTables implementa exportação de tabelas em Excel, CSV e impressão
Próximo:O SQL Server define o nível de isolamento das transações
 Senhorio| Publicado em 08/02/2021 11:45:25 |
O Redis modifica o número de porta padrão e define a senha de acesso
https://www.itsvse.com/thread-2577-1-1.html
Publicado em 22/09/2021 20:26:16 |
Aprenda a aprender...
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com