Red de conocimiento informático - Problemas con los teléfonos móviles - Mecanismo de persistencia de Redis (RDB, AOF y modo mixto)

Mecanismo de persistencia de Redis (RDB, AOF y modo mixto)

RDB (base de datos Redis, modo instantánea) escribe datos en la memoria en un momento determinado en el disco en forma binaria. AOF (Agregar solo archivo) agrega todos los comandos de operación al archivo en forma de texto.

RDB

El archivo guardado predeterminado de RDB es dump.rdb. Su ventaja es que se almacena en forma binaria, por lo que ocupa menos espacio y los datos almacenados son más compactos. y reiniciar la recuperación es más rápido que AOF.

AOF

El archivo guardado predeterminado de AOF es appendonly.aof. Su ventaja es que se almacena con más frecuencia, por lo que el riesgo de perder datos es menor y AOF no se almacena. en binario, por lo que el método de almacenamiento es más fácil de entender. La desventaja es que ocupa mucho espacio y es más lento para restaurar los datos después de reiniciar.

Híbrido

La persistencia híbrida se introdujo en Redis 4.0. Los datos iniciales se almacenan en formato RDB, ocupando una pequeña cantidad de espacio. Después de eso, el comando agrega los datos en formato AOF. . Esto reduce el riesgo de pérdida de datos y aumenta la velocidad de recuperación de datos.

Fork

Redis crea un proceso secundario separado para la persistencia, que escribe los datos en un archivo temporal y luego reemplaza el archivo temporal anterior con este archivo temporal una vez que se completa el proceso de persistencia. Persistente archivos. Todos los datos del nuevo proceso (variables, variables de entorno, contador de programa, etc.) tienen los mismos valores que el proceso original, pero es un proceso completamente nuevo y actúa como hijo del proceso original.

Cuando AOF utiliza archivos adjuntos, el archivo se hará cada vez más grande. Para evitar esta situación, hemos adoptado un nuevo mecanismo de reescritura cuando el tamaño del archivo AOF excede el umbral establecido (predeterminado 64M). ), Redis comenzará a comprimir el contenido del archivo AOF, conservando solo el conjunto mínimo de instrucciones que se pueden utilizar para recuperar los datos. Redis bifurcará un nuevo proceso para reescribir el archivo (también escribirá el archivo temporal primero y le cambiará el nombre al final), recorrerá los datos en la memoria del nuevo proceso y establecerá declaraciones para cada registro. La reescritura de archivos AOF no lee el archivo AOF antiguo, sino que utiliza comandos para reescribir todo el contenido de la base de datos en memoria en el nuevo archivo AOF, que es algo similar a una instantánea.