¿Qué hace el canal de Redis?
No existe una función de canalización de redis en la línea de comando, pero redis admite canalizaciones, que tienen implementaciones correspondientes en los clientes de varias versiones de idiomas. Hay una implementación correspondiente. Debido al retraso en la sobrecarga de la red, incluso si el servidor Redis tiene una gran potencia de procesamiento, aún recibe menos mensajes del cliente, lo que resulta en un menor rendimiento. Cuando el cliente usa la canalización para enviar comandos, el servidor Redis debe colocar parte de la solicitud en la cola (usando memoria) y enviar los resultados todos a la vez una vez completada la ejecución. Si se envían muchos nombres, se recomienda hacerlo; marque los resultados devueltos, por supuesto, aumentará el uso de memoria;
La canalización es muy útil en ciertos escenarios de aplicaciones, como cuando es necesario enviar múltiples comandos a diferentes servidores. Por ejemplo, si hay varios comandos que deben enviarse "justo a tiempo", y sus resultados no dependen entre sí y no es necesario que las respuestas a los resultados estén disponibles de inmediato, entonces la canalización puede actuar como un herramienta de "procesamiento por lotes";
Hasta cierto punto, el rendimiento se puede mejorar enormemente, principalmente debido a la reducción del tiempo de "ida y vuelta interactivo" en los enlaces TCP. Sin embargo, al codificar, tenga en cuenta que mientras la canalización se esté ejecutando, el enlace será "exclusivo" y no podrá realizar ninguna otra operación que no sea la canalización hasta que se cierre la canalización si su conjunto de instrucciones de canalización es grande; puede querer Se utiliza para otras operaciones en el enlace para no interferir con otras operaciones en el enlace. Si el conjunto de instrucciones de la canalización es grande, puede crear un nuevo enlace de cliente para la operación de la canalización, de modo que la canalización pueda separarse de otras operaciones normales en dos clientes para no interferir con otras operaciones en el enlace. Sin embargo, la cantidad de operaciones que una canalización puede tolerar está fuertemente relacionada con el tamaño del búfer de salida del socket y el tamaño de los resultados devueltos. Esto también significa que la cantidad de conexiones de canalización que cada servidor Redis puede admitir simultáneamente está limitada por la capacidad del servidor; Limitaciones de capacidad de memoria física o buffer de interfaz de red.