Cal é o nome completo de Redis RDB? Modo de operación de persistencia de datos de memoria Redis RDB

O nome completo de RDB éRedis database.

  • Como o nome indica, RDB é unha base de datos de Redis utilizada para almacenar datos.
  • Polo tanto, a través da persistencia RDB, os datos almacenados na memoria Redis escríbense no ficheiro RDB e gárdanse no disco para conseguir a persistencia.
  • A característica de Redis é que pode persistir datos, é dicir, escribir datos na memoria no disco para garantir que non se perdan datos, e tamén pode cargar datos do disco na memoria.

Cal é o nome completo de Redis RDB? Modo de operación de persistencia de datos de memoria Redis RDB

As operacións de Redis ao principio están baseadas na memoria, polo que o rendemento é moi alto, pero unha vez que se pecha o programa, pérdense os datos.

Polo tanto, necesitamos escribir datos na memoria no disco a intervalos especificados, que é Snapshot en xerga.

Ao restaurar, o ficheiro de instantánea escríbese directamente na memoria.

Esta é tamén unha das principais diferenzas entre Redis e Memcached, porque Memcached non ten capacidade de persistencia.

Para a persistencia dos datos de memoria de Redis, Redis ofrécenos os seguintes métodos:

  • Método de instantáneas (RDB, Redis DataBase): escribe datos de memoria no disco en forma binaria nun momento determinado;
  • Engadir só ficheiro (AOF, Engadir só ficheiro), rexistrar todos os comandos de operación e engadir ao ficheiro en forma de texto;
  • A persistencia híbrida, un novo método despois de Redis 4.0, a persistencia híbrida combina as vantaxes de RDB e AOF.Ao escribir, escriba primeiro os datos actuais ao comezo do ficheiro en forma de RDB e, a continuación, garde os comandos de operación posteriores no ficheiro en forma de AOF, o que non só pode garantir a velocidade de reinicio de Redis, senón que tamén reduce o risco de perda de datos.

Porque cada esquema de persistencia ten escenarios de uso específicos.

Modo de operación de persistencia de datos de memoria Redis RDB

  • RDB (Redis DataBase) é o proceso de escribir unha instantánea de memoria (Snapshot) nun momento determinado no disco en forma binaria.
  • As instantáneas de memoria son o que dixemos anteriormente.Refírese ao rexistro de estado dos datos na memoria nun momento determinado.
  • Isto é semellante a facer unha foto. Cando fas unha foto dun amigo, unha foto pode gravar ao instante todas as imaxes do amigo.
  • Hai dúas formas de activar RDB: unha é a activación manual e a outra é a activación automática.

Activar manualmente o RDB

Hai dúas operacións para activar manualmente a persistencia:saveEbgsave.

A principal diferenza entre eles é se bloquear ou non a execución do fío principal de Redis.

1. comando gardar

Executar o comando gardar no lado do cliente activará a persistencia de Redis, pero tamén fará que Redis estea en estado de bloqueo. Non responderá aos comandos enviados por outros clientes ata que se persiste o RDB, polo que debe usarse con precaución en o ambiente de produción.

127.0.0.1:6379> save
OK
127.0.0.1:6379>

O proceso de execución do comando móstrase na figura 

2. comando bgsave

  • bgsave (gardado en segundo plano) é un gardado en segundo plano.
  • A maior diferenza entre el e o comando gardar é que bgsave gardará un proceso fillo para realizar a persistencia.
  • Todo o proceso é só cando o proceso fillo é bifurcación.Só bloqueado brevemente.
  • Despois de crear o proceso fillo, o proceso principal de Redis pode responder ás solicitudes doutros clientes.

con bloqueo de todo o procesosaveen comparación co comandobgsaveO comando é obviamente máis axeitado para nós.

127.0.0.1:6379> bgsave
Background Saving started # 提示开始后台保存 
127.0.0.1:6379>

Activar automaticamente RDB

Despois de falar sobre o disparo manual, vexamos o disparo automático.Podemos configurar as condicións para o disparo automático no ficheiro de configuración.

1. gardar mn

  • gardar mn significa que dentro de m segundos, se cambian n teclas, a persistencia activarase automaticamente.Os parámetros m e n pódense atopar no ficheiro de configuración de Redis.
  • Por exemplo, gardar 60 1 significa que dentro de 60 segundos, sempre que cambie unha tecla, activarase a persistencia de RDB.
  • A esencia de activar automaticamente a persistencia é que se se cumpren as condicións de activación establecidas, Redis executará automaticamente o comando bgsave unha vez.

Nota: Cando se establecen varios comandos de gardar mn, calquera condición activará a persistencia.

Por exemplo, establecemos os dous seguintes comandos save mn:

save 60 10
save 600 20
  • Cando o valor da clave Redis cambia 60 veces dentro de 10 segundos, activarase a persistencia;
  • Se a clave Redis cambia dentro de 60 segundos e se o valor cambia menos de 10 veces, Redis determinará se a clave Redis foi modificada polo menos 600 veces dentro de 20 segundos e, se é así, activará a persistencia.

2. Flushall

  • O comando flushall úsase para limpar a base de datos Redis.
  • Debe usarse con precaución nun ambiente de produción.
  • Cando Redis executa o comando flushall, activa a persistencia automática e borra o ficheiro RDB.

3. Disparador de sincronización mestre-escravo

Na replicación mestre-escravo de Redis, cando o nodo escravo realiza unha operación de replicación completa, o nodo mestre executará o comando bgsave para enviar o ficheiro RDB ao nodo escravo. Este proceso activa automaticamente a persistencia de Redis.

Redis pode consultar os parámetros de configuración actuais mediante comandos.

O formato do comando de consulta é:config get xxx

Por exemplo, se quere obter a configuración do nome de almacenamento para un ficheiro RDB, pode usar config get dbfilename .

O efecto de execución é o seguinte:

127.0.0.1:6379> config get dbfilename
1) "dbfilename"
2) "dump.rdb"

Dado que o servidor Redis bloqueará ao cargar o ficheiro RDB ata que se complete a carga, pode provocar moito tempo e non se pode acceder ao sitio web.

Se queres eliminar manualmente o ficheiro da caché RDB dump.rdb de Redis, podes usar o seguinte comando para atopar a ruta de almacenamento do ficheiro dump.rdb▼

find / -name dump.rdb
  • A continuación, elimine manualmente o ficheiro de caché dump.rdb mediante SSH.

Redis establece a configuración de RDB

Respecto á configuración da RDB, pode usar as seguintes dúas formas:

  1. Modifique manualmente o ficheiro de configuración de Redis
  2. Use a configuración da liña de comandos, o directorio do conxunto de configuración "/usr/data" é o comando de almacenamento para modificar o ficheiro RDB

Nota: A configuración en redis.conf pódese obter a través de config get xxx e modificar a través do valor de config set xxx, e o método de modificación manual do ficheiro de configuración de Redis é globalmente efectivo, é dicir, os parámetros establecidos ao reiniciar o servidor Redis non perderase, pero modificado mediante o comando , perderase despois de que se reinicie Redis.

Non obstante, se desexa modificar manualmente o ficheiro de configuración de Redis para que teña efecto inmediatamente, cómpre reiniciar o servidor Redis e o método de comando non require reiniciar o servidor Redis.

Recuperación de ficheiros RDB

Cando se inicia o servidor Redis, se o ficheiro RDB dump.rdb existe no directorio raíz de Redis, Redis cargará automaticamente o ficheiro RDB para restaurar os datos persistentes.

Se non hai ficheiro dump.rdb no directorio raíz, move primeiro o ficheiro dump.rdb ao directorio raíz de Redis.

Por suposto, hai información de rexistro cando se inicia Redis, que mostrará se o ficheiro RDB está cargado.

O servidor Redis bloquéase mentres carga o ficheiro RDB ata que se complete a carga.

Agora sabemos que a persistencia RDB divídese en dúas formas: disparo manual e disparo automático:

  1. A súa vantaxe é que o ficheiro de almacenamento é pequeno e a recuperación de datos é máis rápida cando se inicia Redis.
  2. A desvantaxe é que existe o risco de perda de datos.

A recuperación de ficheiros RDB tamén é moi sinxela. Só tes que poñer os ficheiros RDB no directorio raíz de Redis, e Redis cargará e restaurará os datos automaticamente cando se inicie.

Pros e contras de RDB

1) Vantaxes RDB

O contido RDB é datos binarios, ocupa menos memoria, é máis compacto e é máis adecuado como ficheiro de copia de seguridade;

RDB é moi útil para a recuperación ante desastres, é un ficheiro comprimido que se pode transferir a un servidor remoto máis rápido para a recuperación do servizo Redis;

RDB pode mellorar en gran medida a velocidade de Redis, porque o proceso principal de Redis gardará un proceso fillo para que os datos permanezan no disco.

O proceso principal de Redis non realiza operacións como E/S do disco;

En comparación cos ficheiros de formato AOF, os ficheiros RDB reinician máis rápido.

2) Desvantaxes de RDB

Debido a que RDB só pode gardar datos nun intervalo de tempo determinado, se o servizo Redis termina accidentalmente no medio, os datos de Redis perderanse durante un período de tempo;

Un proceso no que RDB require bifurcacións frecuentes para mantelo no disco usando subentrada.

Se o conxunto de datos é grande, a bifurcación pode levar moito tempo e, se o conxunto de datos é grande, o rendemento da CPU é deficiente, o que pode provocar que Redis non poida servir aos clientes durante uns milisegundos ou mesmo un segundo.

Por suposto, tamén podemos desactivar a persistencia para mellorar a eficiencia de execución de Redis.

Se non es sensible á perda de datos, pode facelo cando o cliente se conecte config set save "" Comando para desactivar a persistencia para Redis.

enredis.conf, se está ensaveComenta todas as configuracións ao principio e a persistencia tamén se desactivará, pero normalmente non se fai.

Blog de Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartiu "Cal é o nome completo de Redis RDB? Redis RDB Modo de operación de persistencia de datos na memoria, que che axudará.

Benvido a compartir a ligazón deste artigo:https://www.chenweiliang.com/cwl-26677.html

Benvido á canle de Telegram do blog de Chen Weiliang para recibir as últimas actualizacións.

🔔 Sexa o primeiro en obter a valiosa "Guía de uso da ferramenta de intelixencia artificial de marketing de contidos de ChatGPT" no directorio principal da canle. 🌟
📚 Esta guía contén un gran valor, 🌟Esta é unha oportunidade rara, non a perdas! ⏰⌛💨
Comparte e da like se che gusta!
O teu compartir e gústame son a nosa motivación continua!

 

发表 评论

O seu enderezo de correo electrónico non se publicará. Utilízanse os campos obrigatorios * Etiqueta

desprázate cara arriba