Redis - rurociągi
Redis jest serwerem TCP i obsługuje protokół żądanie / odpowiedź. W Redis żądanie jest realizowane za pomocą następujących kroków -
Klient wysyła zapytanie do serwera i czyta z gniazda, zwykle w sposób blokujący, odpowiedź serwera.
Serwer przetwarza polecenie i odsyła odpowiedź do klienta.
Znaczenie rurociągów
Podstawowe znaczenie pipeliningu polega na tym, że klient może wysyłać wiele żądań do serwera, nie czekając w ogóle na odpowiedzi, a ostatecznie czyta odpowiedzi w jednym kroku.
Przykład
Aby sprawdzić potokowanie Redis, po prostu uruchom instancję Redis i wpisz następujące polecenie w terminalu.
$(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
W powyższym przykładzie sprawdzimy połączenie Redis za pomocą PINGKomenda. Ustawiliśmy ciąg o nazwietutorial z wartością redis. Później otrzymujemy wartość tych kluczy i trzykrotnie zwiększamy liczbę odwiedzających. W rezultacie widzimy, że wszystkie polecenia są przesyłane do Redis raz, a Redis dostarcza dane wyjściowe wszystkich poleceń w jednym kroku.
Zalety rurociągów
Zaletą tej techniki jest drastyczna poprawa wydajności protokołu. Przyspieszenie osiągnięte przez pipelining waha się od współczynnika pięciu dla połączeń z hostem lokalnym do co najmniej stu w przypadku wolniejszych połączeń internetowych.