Latest web development tutorials

Redis Pipeline Technology

Redis основана на клиент - серверной модели и запрос / ответ протокола TCP услуг. Это означает, что запрос будет, как правило, выполните следующие действия:

  • Клиент отправляет запрос на сервер, и слушает Торцевые возвращается, как правило, в блокирующем режиме, время ожидания ответа сервера.
  • команды обработки сервера и возвращает результаты клиенту.

Redis Pipeline Technology

REDIS технологии трубопровод не может реагировать на момент сервера, клиент может продолжать посылать запрос на сервер, и в конце концов все сразу прочитать ответ сервера.

примеров

Смотрите REDIS трубопровода, просто вам нужно запустить Redis экземпляр и введите следующую команду:

$(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

С помощью приведенного выше примера мы командаPING REDIS сервис доступен, то мы создали w3bigkey Redis значение, а затем мы получаем значение w3bigkey и сделать прирост посетителей в 3 раза.

В возвращаемых результатах, мы можем увидеть эти команды сразу представляются REDIS службу, и в конечном итоге все сразу прочитать ответ сервера


Преимущество технологии трубопроводов

Наиболее важным преимуществом технологии для повышения эффективности REDIS трубопровода обслуживание.

Некоторые данные испытаний

В следующем тесте мы будем использовать клиент Redis Ruby, который поддерживает трубопроводов технические характеристики, технология испытаний труб для усиления эффекта скорости.

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 
}

Из локальной сети в Mac OS X системы, чтобы выполнить указанные выше данные указывают на то, что этот простой скрипт, откройте операцию трубопровода, задержка туда-обратно была улучшена довольно низкой.

without pipelining 1.185238 seconds 
with pipelining 0.250783 seconds

Как вы можете видеть, открыть трубопровод, мы ускорить эффективность в 5 раз.