que pricing precios memoria español elasticache commands cache database redis

database - pricing - ¿Redis es un almacén de datos duradero?



redis commands (1)

Redis no suele implementarse como un almacén de datos "duradero" (en el sentido de "D" en ACID), incluso con diario. La mayoría de los casos de uso sacrifican intencionalmente un poco de durabilidad a cambio de velocidad.

Sin embargo, el modo de almacenamiento "solo agregar archivo" puede configurarse opcionalmente para operar de manera duradera, a costa del rendimiento. Tendrá que pagar por un fsync() en cada modificación. Para configurar esto, establezca estas dos opciones en su archivo .conf:

appendonly yes appendfsync always

De los documentos: ¿Qué tan duradero es el archivo adjunto?

Compruebe redis.conf, puede configurar cuántas veces Redis va a fsync () datos en el disco. Hay tres opciones:

  • Fsync () cada vez que se agrega un comando nuevo al archivo de registro adjunto. Muy, muy lento, muy seguro.
  • Fsync () una vez por segundo. Lo suficientemente rápido, y puede perder 1 segundo de datos si ocurre un desastre.
  • Nunca fsync (), simplemente ponga sus datos en las manos del sistema operativo. El método más rápido e inseguro.

(Tenga en cuenta que el valor predeterminado para appendfsync en el archivo de configuración que se envía con Redis post-2.0.0 es everysec , y no always ).

Con "durable" quiero decir, el servidor puede bloquearse en cualquier momento, y mientras el disco permanezca intacto, no se pierden datos (ver ACID ). Parece que para eso es el modo diario, pero si habilita el diario, ¿no es eso un inconveniente el propósito de operar con datos en memoria? Las operaciones de lectura pueden no verse afectadas por el registro en diario, pero parece que el registro en diario mataría su rendimiento de escritura.