Pergunta

Por "durável", quero dizer, o servidor pode travar a qualquer momento e, enquanto o disco permanecer intacto, nenhum dado é perdido (ver ÁCIDO). Parece que é para isso que serve o modo de diário, mas se você habilitar o diário, isso não derrota o objetivo de operar dados na memória? As operações de leitura podem não ser afetadas pelo diário, mas parece que o diário mataria sua performance de gravação.

Foi útil?

Solução

Redis não é usualmente implantado como um armazenamento "durável" (no sentido do "d" em ácido.), Mesmo com o diário. A maioria dos casos de uso intencionalmente sacrifica um pouco de durabilidade em troca da velocidade.

No entanto, o modo de armazenamento "Apênd apenas o arquivo" pode opcionalmente ser configurado para operar de maneira durável, ao custo do desempenho. Terá que pagar por um fsync () em todas as modificações. Para configurar isso, defina essas duas opções no seu arquivo .conf:

 appendonly yes
 appendfsync always

Dos documentos: Quão durável é o arquivo apenas do Append?

Verifique Redis.conf, você pode configurar quantas vezes o Redis fsync () dados no disco. Existem três opções:

  • Fsync () sempre que um novo comando é anexado ao arquivo de log de apêndice. Muito, muito lento, muito seguro.
  • Fsync () uma vez a cada segundo. Rápido o suficiente, e você pode perder 1 segundo dos dados se houver um desastre.
  • Nunca fsync (), basta colocar seus dados nas mãos do sistema operacional. O método mais rápido e não fortalece.

(Observe que o padrão para appendfsync no envio de arquivos de configuração com redis após 2.0.0 é everysec, e não always.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top