Redis (7) ------ Persistencia de Redis

Redis (7) ------ Persistencia de Redis

12, Sostenibilidad

  • En las entrevistas y en el trabajo, la perseverancia es clave
  • Redis es una base de datos en memoria. Si el estado de la base de datos en la memoria no se guarda en el disco, una vez que sale el proceso del servidor, el estado de la base de datos en el servidor también desaparecerá. Todo Redis proporciona capacidades de persistencia.

12.1 RDB (Base de datos de Redis)

12.1.1 ¿Qué es RDB?

Insertar descripción de la imagen aquí

  • Instantánea: escribe una instantánea en memoria de un conjunto de datos en el disco en un intervalo específico

  • Cuando se restaura, el archivo de instantánea se lee directamente en la memoria.

  • Redis creará (bifurcará) un subproceso separado para la persistencia. Primero escribirá los datos en un archivo temporal. Una vez completado el proceso de persistencia, este archivo temporal se utilizará para reemplazar el último archivo persistente. Durante todo el proceso, el proceso principal no realiza ninguna operación IO. Esto garantiza 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 más eficiente que el método AOF.

  • La desventaja de RDB es que si deja de funcionar después de la última persistencia, los datos pueden perderse.

  • Nuestro valor predeterminado es RDB, generalmente no es necesario modificar esta configuración.

  • A veces, en el entorno de producción, haremos una copia de seguridad de este archivo.

  • El archivo guardado por rdb es:dump.rdb

  • Configurar en una instantánea del archivo de configuración

Insertar descripción de la imagen aquí

  • Modificación save 60 5: siempre que la clave se modifique 5 veces en 60 segundos, se activará la operación RDB.
12.1.2 Mecanismo de disparo
  • 1. saveCuando se cumplan las reglas, las reglas rdb se activarán automáticamente.
  • 2. La ejecución flushalldel comando también activará las reglas rdb.
  • 3. Salga de Redis y también se generarán archivos rdb.
12.1.3 Restaurar archivos rdb
  • Simplemente coloque el archivo rdb en nuestro directorio de inicio de redis y, cuando se inicie redis, verificará dump.rdby restaurará automáticamente los datos.

  • Vea dónde debe estar

127.0.0.1:6379> config get dir
1) "dir"
# 如果在这个目录下存在 dump.rdb文件,启动就会自动恢复其中的数据
2) "/usr/local/bin" 
12.1.4 Ventajas y desventajas
  • ventaja:
    • Adecuado para recuperación de datos a gran escala
    • Bajos requisitos para la integridad de los datos.
  • defecto:
    • Requiere un cierto intervalo de tiempo para funcionar. Si Redis falla inesperadamente, los últimos datos modificados desaparecerán.
    • Al bifurcar un proceso, ocupará una cierta cantidad de espacio de contenido.

12.2 AOF (Agregar solo archivo)

12.2.1 ¿Qué es la AOF?

Insertar descripción de la imagen aquí

  • Registre cada operación de escritura en forma de registro y registre todas las instrucciones ejecutadas por Redis (las operaciones de lectura no se registran). Solo se pueden agregar archivos, pero no reescribirlos. Redis leerá el archivo y reconstruirá los datos cuando se inicie. En otras palabras , si se reinicia Redis, 根据日志文件的内容将写指令从前到后执行一次se completará el trabajo de recuperación de datos.

  • Archivo guardado AOF:appendonly.aof

12.2.2 AÑADIR

Insertar descripción de la imagen aquí

  • La función de instantánea (RDB) no es muy duradera: si Redis falla por algún motivo, el servidor perderá los datos que se escribieron recientemente y no se guardaron en la instantánea. A partir de la versión 1.1, Redis agrega un método de persistencia totalmente duradero:AOF持久化

  • Si desea utilizar AOF, debe modificar el archivo de configuración, appendonly yeslo que significa habilitar AOF. Después de la configuración, reinicie Redis para que surta efecto.

  • Prueba: cree 5 nuevos pares clave-valor k1 v1...

  • Ver appendonly.aofarchivos

*2
$6
SELECT
$1
0
*3
$3
set
$2
k1
$2
v1
*3
$3
set
$2
k2
$2
v2
*3
$3
set
$2
k3
$2
v3
*3
$3
set
$2
k4
$2
v4
*3
$3
set
$2
k5
$2
v5
  • Escriba manualmente algunos caracteres confusos y luego abra el servicio redis, la conexión fallará.
  • Si hay un error en el archivo AOF, Redis no puede iniciarse y es necesario modificar el archivo aof.
12.2.3 redis-check-aof
  • Redis proporciona una herramienta:redis-check-aof
  • ingrese el comando:./redis-check-aof --fix appendonly.aof
  • En este momento, revisé el archivo aof nuevamente y descubrí que los caracteres confusos que ingresamos antes se eliminaron. El archivo AOF es normal y el servicio Redis se puede reiniciar.
12.2.4 Reescribir la descripción de la regla

Insertar descripción de la imagen aquí

  • El archivo predeterminado de AOF se agrega infinitamente y el archivo se hará cada vez más grande. Si el archivo AOF tiene más de 64 M, se copiará un proceso para reescribir el archivo.
12.2.5 Ventajas y desventajas
  • ventaja:

    • Cada modificación se sincronizará y la integridad del archivo será mejor.
    • Sincroniza cada segundo, es posible que se pierda 1 segundo de datos
    • Nunca sincronices, la eficiencia es la más alta.
  • defecto

    • En comparación con los archivos de datos, los archivos AOF son mucho más grandes que los archivos RDB y la velocidad de reparación también es más lenta que la de RDB.
    • AOF también es más lento que RDB, por lo que la configuración predeterminada es la persistencia de RDB.

12.3 Comparación entre RDB y AOF

ventaja RDB AOF
Prioridad de inicio Bajo alto
volumen Pequeño grande
velocidad de recuperación rápido lento
Seguridad de datos Perderá datos Determinar en base a la estrategia.
  • Generalmente hablando. Para lograr una seguridad de datos comparable a PostgreSQL, ambas funciones de persistencia deben habilitarse al mismo tiempo.
  • Si realmente le importan sus datos pero puede permitirse perderlos en cuestión de minutos, puede utilizar la persistencia RDB
  • Muchos usuarios solo usan la persistencia AOF, lo cual no se recomienda porque generar instantáneas RDB regularmente es muy conveniente para la copia de seguridad de la base de datos, y RDB restaura conjuntos de datos más rápido que las restauraciones AOF.

Supongo que te gusta

Origin blog.csdn.net/weixin_44176393/article/details/123708533
Recomendado
Clasificación