Opciones y principios de persistencia de Redis
Normalmente, Redis almacena datos en la memoria o en la memoria virtual, pero proporciona una función de persistencia de datos que puede conservar los datos en la memoria en el disco. ¿Cuáles son los beneficios de la perseverancia? Por ejemplo, garantiza que no perderá datos después de un corte de energía y facilita la actualización de su servidor.
1.Mecanismo de persistencia de RDB: este es un mecanismo para conservar periódicamente los datos de Redis.
El método específico consiste en escribir una instantánea de los datos en la memoria en un archivo binario llamado dump.rdb. El cliente también puede usar el comando save o bgsave para notificar a redis sobre la persistencia de la instantánea. save guardará la instantánea en el hilo principal. Dado que redis usa el hilo principal para manejar todas las solicitudes de los clientes, este método bloqueará todas las solicitudes de los clientes. Este método no se recomienda. Otro punto a tener en cuenta es que cada persistencia de instantáneas escribe los datos de la memoria en el disco en su totalidad, en lugar de sincronizar solo los datos incrementales. Si el volumen de datos es grande, habrá más operaciones de escritura, lo que inevitablemente provocará una gran cantidad de operaciones de E/S del disco y puede afectar gravemente el rendimiento.
2. Mecanismo de persistencia AOF: el mecanismo AOF escribirá cada comando de escritura como un registro en el archivo de registro (modo de solo agregar). Al reiniciar Redis, puede reconstruir el archivo. conjunto de datos completo reproduciendo los comandos de escritura en el registro AOF. Por supuesto, dado que el sistema operativo almacena en caché los cambios escritos en el kernel, es posible que estos cambios no se escriban en el disco inmediatamente. En este método de persistencia, es posible que aún se pierdan algunas modificaciones. Sin embargo, podemos indicarle a Redis a través del archivo de configuración cuándo forzar al sistema operativo a escribir en el disco a través de la función fsync.
appendonly sí // Habilitar el método de persistencia de agregar registros
(1) appendfsync siempre // Una vez que se recibe un comando de escritura, se fuerza a escribir en el disco inmediatamente. Es el más lento pero garantiza una persistencia total y no se recomienda.
(2) appendfsync eachsec //Escribe en el disco una vez por segundo, lo cual es un buen compromiso entre rendimiento y durabilidad y se recomienda.
(3) appendfsync no // Completamente dependiente del sistema operativo, mejor rendimiento, pero no garantiza durabilidad.
Con RDB o AOF, puede conservar los datos de la memoria de Redis en el disco y luego realizar una copia de seguridad en otro lugar.
1.Método RDB
Ventajas:
Desventajas:
2.>Ventajas:
Desventajas:
No use simplemente RDB, porque esto hará que pierda muchos datos; no use solo AOF, porque habrá dos problemas: primero, si usa AOF para el modo de espera en frío, su velocidad de recuperación no será tan rápida como usar RDB para el modo de espera en frío; en segundo lugar, RDB no es tan rápido como RDB. Cada vez que se genera una instantánea de datos de manera simple y cruda, es más robusta y puede evitar los errores de mecanismos complejos de respaldo y recuperación como AOF; redis admite activar dos modos de persistencia al mismo tiempo. Podemos usar mecanismos de persistencia AOF y RDB. en combinación, AOF garantiza que los datos no se pierdan y es la primera opción para la recuperación de datos; RDB realiza copias de seguridad en frío en diversos grados y no está disponible después de que el archivo AOF se pierde o daña. RDB realiza el modo de espera en frío en diversos grados. Cuando el archivo AOF se pierde o se daña y deja de estar disponible, RDB también se puede utilizar para una recuperación rápida de datos.
Fuente: blogs.com/bigbaby/p/15879126.html