Redis Pipelining

Redis Pipelining

Redis Pipelining odnosi się do funkcji, która umożliwia wysyłanie wielu poleceń do serwera Redis za jednym razem. Zamiast wysyłać polecenie i natychmiastowe otrzymanie odpowiedzi, rurociąg umożliwi utworzenie wykonania polecenia wsadowego i uruchomienie ich na serwerze jednocześnie.

Głównym celem potoku jest poprawa wydajności protokołu i Redis. Ponadto, ponieważ wszystkie polecenia są najpierw zorganizowane po stronie klienta, może skrócić czas podróży w obie strony, aby klient wymagał żądania, serwer do przetworzenia i zwrócenia odpowiedzi na klienta.

Powiedzmy na przykład, że każde zapytanie zajmuje około 100 milisekund. Tak więc, jeśli pracujesz 1000 zapytań i czekasz na odpowiedź, przetworzenie wszystkich z nich zajęłoby 100 * 1000.

Jednak za pomocą rurociągów możesz ustawić wszystkie zapytania w jednym dużym „stosie” i powiedzieć serwerowi, proszę bardzo.

Oznacza to, że zamiast 100 * 1000, zmniejszasz TTL do jednego zapytania.

Przykład rurociągu Redis

Ruroiping jest szeroko rozpowszechnioną funkcją i jest obsługiwana przez wszystkie wersje serwera Redis. Przykładem polecenia rurociągu jest jak pokazano:

$ (echo -en "AuthAld Hasło \ r \ nping \ r \ nping \ r \ nset Wartość klucza \ r \ nget klucz \ r \ nincr Newkey \ r \ nincr newkey"; sleep 1) | NC Localhost 6379

W takim przypadku zaczynamy od uwierzytelnienia na serwerze Redis i uruchamiania ping, aby sprawdzić, czy serwer jest w górę. Następnie ustawiamy parę wartości kluczy i wykonujemy operacje inclu na nowym kluczu. Śpimy przez 1 sekundę i przekazujemy dane wejściowe za pośrednictwem Netcat.

Powyższe zapytania powinny powrócić:

+OK
+Ponga
+Ponga
+OK
5 USD
wartość
: 1

Wniosek

Ten samouczek pokazuje, jak używać Redis Pipelining do wykonywania poleceń w kolejności wsadowej. Może to pomóc w zmniejszeniu TTL dla zapytań.

Dowiedz się więcej tutaj.