Redis - конвейерная обработка
Redis - это TCP-сервер, поддерживающий протокол запроса / ответа. В Redis запрос выполняется с помощью следующих шагов:
Клиент отправляет запрос на сервер и читает из сокета, обычно блокирующим способом, ответ сервера.
Сервер обрабатывает команду и отправляет ответ клиенту.
Значение конвейерной обработки
Основное значение конвейерной обработки заключается в том, что клиент может отправлять несколько запросов на сервер, вообще не дожидаясь ответов, и, наконец, считывает ответы за один шаг.
пример
Чтобы проверить конвейерную обработку Redis, просто запустите экземпляр Redis и введите следующую команду в терминале.
$(echo -en "PING\r\n SET tutorial redis\r\nGET tutorial\r\nINCR
visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc localhost 6379
+PONG
+OK
redis
:1
:2
:3
В приведенном выше примере мы проверим соединение Redis, используя PINGкоманда. Мы установили строку с именемtutorial со значением redis. Позже мы получаем значение этого ключа и увеличиваем номер посетителя в три раза. В результате мы видим, что все команды отправляются в Redis один раз, а Redis обеспечивает вывод всех команд за один шаг.
Преимущества конвейерной обработки
Преимущество этого метода - резко улучшенная производительность протокола. Ускорение, получаемое за счет конвейерной обработки, колеблется от пяти раз для подключений к localhost до не менее 100 раз для более медленных интернет-соединений.