RDB persistente de Redis (Redis DataBase), AOF (Adjuntar solo archivo)


Referencia: El blogger de la estación b conoció las notas escritas por Mad God. Conexión de Blogger: enlace .
Redis es una base de datos de memoria. Si el estado de la base de datos en la memoria no se guarda en el disco, una vez que el proceso del servidor finaliza, el estado de la base de datos en el servidor también desaparecerá. ¡Entonces Redis proporciona una función de persistencia!

RDB (base de datos de Redis)

Que es RDB

En la replicación maestro-esclavo, rdb es la copia de seguridad, ¡en el esclavo!
Inserte la descripción de la imagen aquí
La instantánea del conjunto de datos en la memoria se escribe en el disco dentro del intervalo de tiempo especificado, es decir, la instantánea en la jerga.Cuando se restaura, lee el archivo de instantánea directamente en la memoria.

Redis creará (bifurcará) un proceso secundario por separado para la persistencia. Primero escribirá los datos en un archivo temporal. Una vez finalizado el proceso de persistencia, reemplazará el último archivo persistente con este archivo temporal. Durante todo el proceso, el archivo principal El proceso no realiza ninguna operación. Esto asegura un rendimiento extremadamente alto. Si se requiere una recuperación de datos a gran escala y la integridad de la recuperación de datos no es muy sensible, el método RDB es mejor que el método AOF Más eficiente. La desventaja de RDB es que los datos pueden perderse después de la última persistencia.Nuestro valor predeterminado es RDB, ¡en circunstancias normales no es necesario modificar esta configuración!

El archivo guardado por rdb es dump.rdb, que está configurado en la instantánea en nuestro archivo de configuración.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Mecanismo de disparo

1. Cuando se cumplan las reglas de guardado, la regla rdb se activará automáticamente
2. ¡La ejecución del comando flshall también activará nuestra regla rdb!
3. Salga de redis y también se generará un archivo RDB.
La copia de seguridad generará automáticamente un archivo dump.rdb
Inserte la descripción de la imagen aquí

¡Cómo restaurar archivos rdb!

1. Simplemente coloque el archivo rdb en nuestro directorio de inicio de redis, y el volcado se comprobará automáticamente cuando se inicie redis. ¡rdb restaura los datos!
2. Verifique la ubicación que debe almacenarse

127.0.0.1:6379> config get dir
1) "dir"
2) "/usr/local/bin"    //如果在这个目录下存在dump。rdb文件,启动就会自动恢复其中的数据

Casi la configuración predeterminada de redis es suficiente, pero aún debe comprender

Ventajas:
1. ¡Adecuado para la recuperación de datos a gran escala! dump.rdb
2, no requiere una alta integridad de datos.
Desventajas:
1. ¡Requiere un cierto intervalo de tiempo para la operación del proceso! Si redis falla inesperadamente, ¡los últimos datos modificados desaparecerán!
2. Cuando el proceso es bifurcado, ocupará una cierta cantidad de espacio de memoria.

AOF (solo archivo adjunto)

¡Registre todos los comandos que usamos, el historial y ejecute todo este archivo al restaurar!

Qué es

Inserte la descripción de la imagen aquí
Registre cada operación de escritura en forma de registro, registre todas las instrucciones ejecutadas por Redis (las operaciones de lectura no se registran), solo permita archivos adicionales pero no reescriba archivos, redis leerá los archivos para reconstruir los datos al comienzo del inicio En otras palabras, si redis se
reinicia, ejecutará el comando de escritura de adelante hacia atrás de acuerdo con el contenido del archivo de registro para completar el trabajo de recuperación de datos.

Aof guarda el archivo appendonly.aof

adjuntar

Inserte la descripción de la imagen aquí

appendonly yes    //默认no  不开启状态  yes 开启aof
//重启,redis就可以生效了!

Hay un error en el archivo appendonly.aof. Redis no se puede iniciar. Necesita ser reparado. Aof file
redis nos proporciona una herramienta. redis-check-aof --fix
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Si el archivo es normal, reinícielo y se puede restaurar directamente.
Inserte la descripción de la imagen aquí

¡pros y contras!

appendonly no  //默认是不开启aof模式的,默认使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用!
appendfilename "appendonly.aof"     //持久化的文件的名字

#appendfsync always    //每次修改都会sync。消耗性能
appendfsync everysec    //每秒执行一次,可能会丢失这1s的数据!
#appendfsync no           //不执行sync,这个时候操作系统自己同步数据,速度最快!

#rewrite  //重写

ventaja:

  1. ¡Cada modificación se sincroniza y la integridad del archivo será mejor!
  2. Sincronice cada segundo, puede perder un segundo de datos
  3. Nunca sincronices, ¡lo más eficiente!

Desventajas:

  1. Equivalente a los archivos de datos, AOF es mucho más grande que RDB, ¡y la velocidad de reparación también es más lenta que RDB!
  2. La eficiencia operativa de Aof también es más lenta que la de RDB, por lo que nuestra configuración predeterminada para redis es la persistencia de RDB

Reescribir las reglas

El valor predeterminado de Aof es la adición ilimitada de archivos, ¡y los archivos serán cada vez más grandes!
Inserte la descripción de la imagen aquí
Si el archivo aof mide más de 64 m, ¡es demasiado grande! ¡Bifurque un nuevo proceso para reescribir el archivo aof!

Expansión:

1. El método de persistencia RDB puede realizar el almacenamiento de instantáneas de sus datos dentro de un intervalo de tiempo especificado.
2. El método de persistencia AOF registra cada operación de escritura en el servidor. Cuando el servidor se reinicia, estos comandos se volverán a ejecutar para restaurar los datos originales , El comando AOF usa el protocolo de Redis para agregar y guardar cada operación de escritura al final del archivo. Redis también puede reescribir el archivo AOF en segundo plano, para que el volumen del archivo AOF no sea demasiado grande.
3. Solo caché, si solo desea que sus datos existan cuando el servidor se está ejecutando, tampoco puede usar ninguna persistencia
4. Abra ambos métodos de persistencia al mismo tiempo

  • En este caso, cuando se reinicia redis, cargará primero el archivo AOF para restaurar los datos originales, porque en circunstancias normales, el conjunto de datos guardado por el archivo AOF es más completo que el conjunto de datos guardado por el archivo RDB.

  • Los datos de RDB no son en tiempo real y el servidor se reinicia cuando se usan ambos al mismo tiempo, solo encontrará el archivo AOF. ¿Debería usar AOF? El autor recomienda que no, porque RDB es más adecuado para realizar copias de seguridad de la base de datos. (AOF no es bueno para la copia de seguridad cuando cambia constantemente) Reinicie rápidamente y no habrá errores potenciales en AOF. Guárdelo por si acaso.

5. Recomendaciones de desempeño

  • Debido a que el archivo RDB solo se usa con fines de respaldo, se recomienda conservar solo el archivo RDB en el esclavo, y solo se necesitan 15 minutos para respaldarlo y solo guardar la regla 900 1.
  • Si habilita AOF, la ventaja es que en el peor de los casos, solo perderá no más de dos segundos de datos. El script de inicio es más simple y solo carga su propio archivo AOF. El costo es que trae un 10 continuo, y el segundo es el final de AOFrewrite El bloqueo causado por escribir los nuevos datos generados en el proceso de reescritura en el nuevo archivo es casi inevitable. Siempre que el disco duro tenga licencia, la frecuencia de AOFrewrite debe reducirse tanto como sea posible. El valor predeterminado de 64M para la reescritura de AOF es demasiado pequeño y se puede establecer por encima de 5G. De forma predeterminada, la reescritura se puede cambiar a un valor apropiado valor si supera el 100% del tamaño original.
  • Si no habilita AOF, puede lograr una alta disponibilidad confiando solo en la Replicación maestro-esclavo, que puede ahorrar una gran cantidad de 10 y reducir las fluctuaciones del sistema causadas por la reescritura. El precio es que si el Master / Slave se descarga al mismo tiempo, se perderán más de diez minutos de datos. El script de inicio también debe comparar los archivos RDB en los dos Master / Slave y cargar el más nuevo. Weibo es este arquitectura.

Supongo que te gusta

Origin blog.csdn.net/yang13676084606/article/details/109864959
Recomendado
Clasificación