Redis Tecnología Pipeline
Redis se basa en un modelo cliente - servidor y una petición / respuesta de los servicios de protocolo TCP. Esto significa que una solicitud será típicamente siga estos pasos:
- El cliente envía una consulta al servidor, y escucha declaraciones de zócalo, por lo general en modo de bloqueo, a la espera de la respuesta del servidor.
- comandos de procesamiento del servidor y devuelve los resultados al cliente.
Redis Tecnología Pipeline
Redis tecnología tubería no puede responder en el momento de servidor, el cliente puede continuar para enviar una petición al servidor, y, finalmente, a la vez de leer la respuesta del servidor.
Ejemplos
Ver tubería Redis, justo lo necesario para empezar Redis instancia e introduzca el siguiente comando:
$(echo -en "PING\r\n SET w3bigkey redis\r\nGET w3bigkey\r\nINCR visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc localhost 6379 +PONG +OK redis :1 :2 :3
Al utilizar el ejemplo que el servicio Redis comandoPING arriba está disponible, entonces hemos establecido Redis valor w3bigkey, y luego se obtiene el valor w3bigkey y crea incremento de visitantes 3 veces.
En los resultados devueltos, podemos ver estos comandos a la vez sometido a Redis servicio, y en última instancia, a la vez de leer la respuesta del servidor
Ventaja de la tubería Tecnología
La ventaja más importante de la tecnología para mejorar el servicio Redis rendimiento tubería.
Algunos datos de prueba
En la siguiente prueba, vamos a utilizar el cliente Redis Ruby que es compatible con las características técnicas de canalización, la tecnología de tubo de ensayo para mejorar el efecto de la velocidad.
require 'rubygems' require 'redis' def bench(descr) start = Time.now yield puts "#{descr} #{Time.now-start} seconds" end def without_pipelining r = Redis.new 10000.times { r.ping } end def with_pipelining r = Redis.new r.pipelined { 10000.times { r.ping } } end bench("without pipelining") { without_pipelining } bench("with pipelining") { with_pipelining }
A partir de la LAN en el sistema Mac OS X para realizar los datos anteriores indican que esta secuencia de comandos simple, abra la construcción de este gasoducto, el retardo de ida y vuelta se ha mejorado bastante baja.
without pipelining 1.185238 seconds with pipelining 0.250783 seconds
Como se puede ver, abrir la tubería, que la velocidad de eficiencia en 5 veces.