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.