Red de conocimiento informático - Problemas con los teléfonos móviles - La diferencia entre rdb y aof persistencia en Redis

La diferencia entre rdb y aof persistencia en Redis

Los datos en Redis se almacenan en la memoria de la computadora. Si no los configuramos, los datos se perderán después de reiniciar Redis. Esto requiere la tecnología de persistencia en Redis, es decir, almacenar los datos en el disco. aún se puede obtener del disco para lograr la persistencia.

¿Cuál es la diferencia entre RDB y AOF?

La persistencia de RDB consiste en escribir una instantánea de un conjunto de datos en memoria en el disco a intervalos específicos. El proceso real es que hay un subproceso de bifurcación que primero escribe el conjunto de datos en un archivo temporal y luego reemplaza el archivo anterior después de que la escritura es exitosa y lo almacena en compresión binaria.

La persistencia de AOF registra cada operación de escritura y eliminación procesada por el servidor en forma de registro. Las operaciones de consulta no se registrarán en registros de texto. Puede abrir el archivo para ver registros de operaciones detallados.

La ventaja de RDB es que es más rápido y se almacena en archivos binarios, lo que hace que la transmisión sea más conveniente. La desventaja es que RDB no puede garantizar la seguridad absoluta de los datos y, a veces, se almacenará una gran cantidad de datos. perdido en sólo un segundo.

La ventaja de AOF es que es más seguro que RDB. Generalmente, no habrá pérdida de datos, incluso si la cantidad no es demasiado grande. Por supuesto, la recomendación oficial es abrir AOF y RDB. al mismo tiempo, la desventaja es que la persistencia de AOF es menor que la de RDB, y los archivos almacenados en la etapa posterior serán más grandes y difíciles de transferir.

Cabe señalar que después de reiniciar Redis, debe cargar archivos persistentes y la cantidad de archivos AOF que se pueden seleccionar es limitada. Si abre un RDB primero y luego abre un AOF, y el RDB realiza persistencia primero, el AOF sobrescribirá el contenido del archivo RDB.