Método de persistência Redis (RDB, AOF), eu o entendo completamente depois de lê-lo

Método de persistência Redis (RDB, AOF)

Sabemos que o Redis suporta operações persistentes, que são divididas em RDB (Redis DataBase) e AOF (Append of File)

Persistência RDB

Através do nome completo de RDB, podemos saber que este método é o principal método de persistência do redis.

Compreensão do RDB

  • Grava um instantâneo na memória do conjunto de dados no disco no intervalo especificado.
  • Ou seja, o instantâneo Snapshot no jargão, ele lê o arquivo de instantâneo diretamente na memória quando é restaurado.

Processo de backup

  • O Redis criará (fork) um processo filho separadamente para persistência. Ele primeiro gravará os dados em um arquivo temporário. Após o término do processo de persistência, o arquivo temporário será usado para substituir o último arquivo persistente.
  • Durante todo o processo, o processo principal não executa nenhuma operação de E/S, o que garante um desempenho extremamente alto. Se a recuperação de dados em larga escala for necessária e a integridade da recuperação de dados não for muito sensível, o método RDB é mais eficiente que o método AOF . de eficiência. A desvantagem do RDB é que os dados podem ser perdidos após a última persistência.

Mecanismo copy-on-write: copie quando precisar escrever

Localização do arquivo RDB

Configure o nome do arquivo em redis.conf, o padrão é dump.rdb,insira a descrição da imagem aqui

Esse arquivo está no diretório em que a linha de comando está localizada quando o redis é iniciado.
insira a descrição da imagem aqui

A estratégia de preservação da RDB

insira a descrição da imagem aqui

Ele também é configurado no arquivo redis.conf.
O salvamento 900 1 acima significa que em 900 segundos, se pelo menos uma tecla for alterada, o instantâneo atual será salvo no arquivo rdb.
salvar 300 10 significa que em 300 segundos, se pelo menos 10 chaves forem alteradas, salve o instantâneo atual no arquivo rdb.
salve 60 10.000, o que significa que pelo menos 10.000 chaves foram alteradas em 60 segundos. Em seguida, salve o instantâneo atual no arquivo rbd.

Quando o Redis sai normalmente, a persistência do RDB também é acionada.

Vantagens e desvantagens do RDB

vantagem:

  • Economiza espaço em disco (comparado ao AOF) porque os arquivos rdb nos quais armazena os dados são compactados.
  • Recuperação rápida.
    deficiência:
  • O Redis usa a tecnologia copy-on-write ao bifurcar, mas consome desempenho se os dados forem enormes.
  • O ciclo de backup faz um backup em um determinado intervalo de tempo. Se ficar inativo fora deste ciclo, todas as modificações após o último snapshot serão perdidas.

Outras operações comuns

insira a descrição da imagem aqui

Backup e restauração de RDB


insira a descrição da imagem aqui
restauração de backup

insira a descrição da imagem aqui


Persistência AOF

Através do nome completo de AOF (append of File), provavelmente sabemos que AOF registra dados anexando arquivos.

AOF não está habilitado por padrão,
como habilitá-lo? Também através do arquivo de configuração redis.conf.
insira a descrição da imagem aqui
Configure o nome do arquivo
insira a descrição da imagem aqui
de AOF Nota: AOF entra em vigor quando AOF e RDB são habilitados ao mesmo tempo

como persistir

Toda vez que usamos uma operação de gravação, o mecanismo AOF do Redis anexará as instruções de operação ao arquivo AOF, para que o arquivo AOF salve as instruções.

Quando sincronizar dados

Ele ainda está configurado no arquivo redis.conf
insira a descrição da imagem aqui
como acima, o padrão é sincronizar uma vez por segundo; também pode ser sincronizado para cada operação de gravação; também não pode ser sincronizado ativamente e entregue ao sistema operacional

Pergunta: Se você continuar anexando arquivos, os arquivos ficarão cada vez maiores? Como lidar com isso?
O Redis usa um mecanismo de regravação e a regravação é ativada quando um limite (configuração do arquivo de configuração) é excedido.
Nota: A regravação não opera no arquivo de origem, mas grava instruções com base nos dados existentes no banco de dados, gera um arquivo temporário e substitui o arquivo AOF original em renomear.
insira a descrição da imagem aqui
Conforme mostrado na figura acima, quando atingir o dobro do tamanho original ou maior que 64mb, o AOF será reescrito.

Como reescrever?

Tome um exemplo simples

127.0.0.1:6379>set a 123
127.0.0.1:6379>set a 132

então será reescrito como

127.0.0.1:6379>set a 132

Onde AOF é mais sem caroço:

Se realizarmos operações como flushdb, esse comando também será registrado no arquivo AOF, e esse comando ainda será executado na próxima vez que restaurarmos, portanto, precisamos abrir o arquivo AOF para ver se existe tal operação.

Vantagens e desvantagens do AOF

vantagem:

  • O mecanismo de backup é mais robusto e a probabilidade de perda de dados é baixa.
  • Texto de log legível (os arquivos RDB são compactados, não podemos lê-los) e operações incorretas podem ser tratadas pela manipulação de arquivos AOF.

deficiência:

  • Ocupa mais espaço que os arquivos RDB.
  • A velocidade do backup é lenta porque todas as instruções no AOF precisam ser executadas.
  • Se cada leitura e gravação for sincronizada, haverá uma certa pressão de desempenho.
  • Existem bugs individuais, que fazem com que a recuperação falhe.

Quem usa AOF e RDB?

  • A recomendação oficial é usar tanto
  • Se os dados não forem confidenciais, use RDB
  • Não é recomendado usar AOF sozinho, pode haver bugs
  • Se você usar redis apenas para operações de memória pura, não precisará

Acho que você gosta

Origin blog.csdn.net/qq_41570752/article/details/108522375
Recomendado
Clasificación