Directorio de artigos
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.
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:save
Ebgsave
.
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 procesosave
en comparación co comandobgsave
O 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:
- Modifique manualmente o ficheiro de configuración de Redis
- 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:
- A súa vantaxe é que o ficheiro de almacenamento é pequeno e a recuperación de datos é máis rápida cando se inicia Redis.
- 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á ensave
Comenta 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.
📚 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!