Redis Pipelining

Redis Pipelining

Redis Pipelining se refiere a una característica que le permite enviar múltiples comandos al servidor Redis de una vez. En lugar de enviar un comando y obtener una respuesta de inmediato, la tubería le permitirá crear una ejecución de comandos por lotes y ejecutarlos en el servidor simultáneamente.

El objetivo principal del canalización es mejorar el rendimiento del protocolo y redis. Además, dado que todos los comandos se organizan primero en el lado del cliente, puede reducir el tiempo de ida y vuelta requerido para que el cliente envíe una solicitud, el servidor la procese y devuelva una respuesta al cliente.

Por ejemplo, digamos que cada consulta toma aproximadamente 100 milisegundos. Entonces, si está ejecutando 1000 consultas y esperando una respuesta, se necesitaría 100 * 1000 para procesarlas todas.

Sin embargo, al usar tuberías, puede alinear todas las consultas en una gran "pila" y decirle al servidor, aquí va.

Esto significa que, en lugar de 100 * 1000, reduce el TTL a la de una sola consulta.

Ejemplo de canalización de redis

El canalización es una característica generalizada y es compatible con todas las versiones del servidor Redis. Un ejemplo de comando de tubería es como se muestra:

$ (echo -EN "Auth Password predeterminado \ r \ nping \ r \ nping \ r \ nset value \ r \ nget key \ r \ nincr newkey \ r \ nincr newkey"; dormir 1) | NC Localhost 6379

En este caso, comenzamos autenticando al servidor Redis y ejecutando ping para verificar si el servidor está arriba. Luego establecemos el par de valores clave y realizamos operaciones incrementales en una nueva clave. Dormimos por 1 segundo y pasamos la entrada a través de NetCat.

Las consultas anteriores deben regresar:

+DE ACUERDO
+APESTAR
+APESTAR
+DE ACUERDO
$ 5
valor
: 1

Conclusión

Este tutorial le muestra cómo usar Redis Pipelining para ejecutar comandos en un orden por lotes. Esto puede ayudar a reducir el TTL para sus consultas.

Aprende más aquí.