Funcionamiento, mantenimiento y principios de Redis RDB

Comando de consola:

  • Guardar ejecutando este comando bloqueará el hilo principal, haciendo que el hilo principal no pueda proporcionar servicios externos. Los siguientes documentos oficiales son los previstos: el comando guardar ejecuta una operación para guardar de forma sincrónica todos los conjuntos de datos y guardarlos en el archivo RDB. En un entorno de producción, no desea utilizar este comando para operar, porque bloqueará a todos los clientes. Por lo general, se reemplaza por el comando BGSAVE en situaciones de producción. Si se produce un error de llamada al sistema en la bifurcación, el comando save puede usarse como la última opción para volcar datos. Si el comando se ejecuta con éxito, devolverá OK.
    Inserte la descripción de la imagen aquí

  • bgsave ejecuta este comando para bifurcar un subproceso secundario, y el subproceso principal puede continuar brindando servicios al mundo exterior. La idea principal del documento oficial es: guardar datos en segundo plano, generalmente el código OK regresará inmediatamente, redis es un proceso secundario, el proceso principal continúa brindando servicios y el proceso secundario hará el trabajo de guardado de la base de datos . Se devolverá un error en las dos situaciones siguientes: ① Ya se está ejecutando un proceso de bifurcación. ②La AOF actual está ejecutando la operación de escritura. Después de que se ejecute el comando, regresará inmediatamente. Puede usar el comando LASTSAVE para verificar si bgsave se ha ejecutado correctamente.
    Inserte la descripción de la imagen aquí
    Estrategia de RDB del archivo de configuración; de hecho, sava se utiliza para identificar bgsave en el archivo de configuración. Porque el programa básicamente no usa la operación de comando de guardar cuando se está ejecutando.

#15分钟有一个键值被修改
save 900 1
#5分钟至少10个键值被修改触发RDB
save 300 10
#一分钟至少10000个键值被修改触发RDB
save 60 10000
#当异步保存出错是是否停止
stop-writes-on-bgsave-error yes
#是否启用rdb文件压缩
rdbcompression yes
#是否校验和
rdbchecksum yes
#文件名称
dbfilename dump.rdb
#文件路径
dir /home/redis/redis-cluster/RDB/

Principio de bgsave:
Cuando se ejecuta bgsave, se producirá una llamada al sistema. Fork crea un proceso hijo del proceso actual y copia todos los punteros de memoria del proceso actual en el proceso hijo. No se ha producido una copia de memoria específica. Utilice el mecanismo de copia en escritura (copia en escritura) para asegurarse de que el proceso principal continúe brindando servicios al mundo exterior. Cuando el valor de la clave cambia, el sistema reasignará la dirección de memoria del valor de la clave actual. El contenido de la ubicación apuntada por el puntero de clave-valor original permanece sin cambios, lo que garantiza la puntualidad de los datos. Cuando se produce una llamada de bifurcación, el sistema primero iniciará una solicitud de memoria al sistema. Si su hilo actual usa 3 G de memoria, pero el sistema solo tiene 4 G de memoria, deberá solicitar 3 G de memoria para protección cuando ocurre el proceso de bifurcación. Estado completamente confiable, pero la memoria del sistema es insuficiente, el sistema devolverá un error a redis. En este momento, puede configurar la estrategia de memoria del sistema operativo junto con detener-escrituras-en-bgsave-error no para omitir forzosamente, porque se usa el mecanismo de copia-en-escritura, aparecerá la situación más extrema y la memoria se actualizará una vez Esta situación extrema es casi imposible.
El parámetro del kernel overcommit_memory se establece en 1
valores opcionales: 0, 1, 2.

  • 0 significa que el kernel comprobará si hay suficiente memoria disponible para el proceso de aplicación; si hay suficiente memoria disponible, la aplicación de memoria está permitida; de lo contrario, la aplicación de memoria falla y se devuelve un error al proceso de aplicación.
  • 1 significa que el kernel permite que se asigne toda la memoria física, independientemente del estado actual de la memoria.
  • 2 significa que el kernel permite la asignación de memoria que excede la suma de toda la memoria física y el espacio de intercambio.

Supongo que te gusta

Origin blog.csdn.net/a807719447/article/details/110959523
Recomendado
Clasificación