Proceso de ejecución del comando Redis
Estrategia de eliminación de datos caducados de Redis
Modelo de eventos del servidor de Redis
Discusiones causadas por la gestión del clúster de Redis
Construcción de Redis 3 .x clúster de Windows
Proceso de ejecución de comandos de Redis
Estructura de datos subyacente de la cadena de Redis
Estructura de datos subyacente de la lista de Redis
Rehash de datos subyacentes estructura
Redis establece la estructura de datos subyacente
Redizset la estructura de datos subyacente
Gestión de clientes de Redis
Sincronización maestro-esclavo de Redis-final esclavo
Sincronización maestro-esclavo de Redis: lado del host
Detección de tiempo de espera de maestro-esclavo de Redis
Perseverancia
Persistencia de Redis rdb
Proceso de recuperación de datos de Redis
Principios de implementación de Redistll
Establecimiento de un clúster de Redis
Selección de clústeres de Redis
? El propósito de este artículo es describir el proceso de ejecución del servidor Redis que procesa los comandos del cliente, incluido el diagrama de flujo de Redis, el código fuente y la descripción del formato del comando. Se hace referencia al protocolo de comunicación de redis en el sitio web oficial de redis.
? El proceso completo de ejecución de comandos del lado del servidor de redis se muestra en la siguiente figura:
? nread = read(fd, c-> querybuf+qblen, readlen) es responsable de leer el número de comandos y pasar al siguiente paso a través de ProcessInputBuffer.
? El núcleo es ProcessInlineBuffer que procesa comandos en línea y ProcessMultibulkBuffer que procesa comandos por lotes, incluido get/set. , el proceso principalCommand se utiliza para ejecutar comandos.
? De hecho, el proceso de ejecutar un comando consiste principalmente en encontrar la función de ejecución correspondiente al comando, encontrar el comando de ejecución correspondiente a través de lookupCommand y ejecutar el comando mediante una llamada.
? Responsable de ejecutar el comando c->cmd->Proc para actualizar la información estadística y responsable de difundir datos después de la ejecución sincrónica.
? Principalmente responsable de sincronizar datos con archivos AOF y nodos esclavos, feedAppendOnlyFile es responsable de sincronizar archivos AOF y replicationFeedSlaves es responsable de la sincronización.
? AOF implica múltiples cachés, incluido
? Contiene la relación de mapeo entre los comandos y las funciones de ejecución correspondientes, que deberían verse muy claras.
El formato general del acuerdo es el siguiente. Preste atención a los caracteres como * o $ al frente, y \r\n al final es el delimitador.
Entre ellos, el segundo elemento de la respuesta está vacío.