Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo la multiplexación de Redis garantiza el orden correcto de lectura y escritura

Cómo la multiplexación de Redis garantiza el orden correcto de lectura y escritura

redis es una base de datos en memoria de un solo proceso y un solo subproceso que se utiliza principalmente como sistema de almacenamiento en caché. La multiplexación de Network io se utiliza para garantizar el rendimiento del sistema en el caso de múltiples conexiones.

Dado que redis es de un solo subproceso, todas las operaciones se realizan de forma lineal en orden, pero dado que las operaciones de lectura y escritura están bloqueando, si se solicita bloques, todo el proceso no puede servir a otros clientes. Por lo tanto, apareció la multiplexación io

El modelo de multiplexación io de redis se basa en epoll. Las tecnologías de multiplexación incluyen select y poll. La razón por la que se eligió epoll para su implementación es porque epoll tiene las siguientes ventajas:

1. epoll no tiene un límite máximo de conexiones simultáneas y el límite superior es el número máximo de archivos abiertos

2.

2. Más eficiente, epoll solo tiene conexiones activas y no tiene nada que ver con el número total de conexiones

3. Uso de memoria epoll usa *** para disfrutar de la memoria , por lo que también se omite la copia de memoria

De hecho, la multiplexación io es un mecanismo que monitorea múltiples descriptores. Una vez que un determinado descriptor está listo, se notificará al programa para que realice la operación correspondiente (supervisando el descriptor, la operación en la base de datos se convierte en un evento, lo que reduce el cambio de contexto y la contención al cambiar de hilo)