Jak używać strumieni Redis

Jak używać strumieni Redis

Strumienie są prostą, ale wszechstronną i potężną strukturą danych, która pozwala wdrażać strumienie w Redis. Strumienie to wbudowane typy z Redis wersja 5.0 i może pomóc usunąć ograniczenia struktury danych dziennika.

W tym artykule skupimy się na korzystaniu z strumieni Redis i pracy, a nie na faktycznej implementacji. Możesz jednak sprawdzić dokumenty pod kątem więcej.

Redis Utwórz strumień

Aby utworzyć strumień w Redis, używamy polecenia XADD, a następnie nazwy strumienia, identyfikatora, klucza i danych jako parametrów.

Składnia jest jak pokazana:

Xadd [nazwa strumienia] [id] [klucz] [dane]

Przykład to jak pokazano:

127.0.0.1: 6379> Xadd DataStream * IP 231.17.140.219
„1646904960928-0”

W powyższym przykładzie uruchamiamy polecenie XADD, aby dodać nowy entry strumienia. W naszym przykładzie podaj wejście DataStream z unikalnym identyfikatorem.

Chociaż możesz ręcznie ustawić identyfikator, używamy gwiazdki, aby powiedzieć Redisowi, aby automatycznie generował unikalny identyfikator. To jest wyjście powyższego polecenia.

NOTATKA: Każdy wygenerowany IP jest monotonicznie zwiększany z poprzednich. W większości przypadków rzadko będziesz musiał ręcznie ustawić identyfikator wpisu. Możemy to zrobić, jak pokazano w poniższym poleceniu:

127.0.0.1: 6379> Xadd DataStream 74376383723373 IP 171.17.140.219
„74376383723373-0”

W powyższym poleceniu ręcznie określamy identyfikator wpisu.

Wpis zawiera pole i wartość IP oraz odpowiadający IP.

Redis Dodaj strumień z limitem

W niektórych przypadkach możesz nie chcieć, aby wpisy strumienia przekroczyły określoną wartość. Możesz to zrobić, określając parametr Maxlena jako:

Xadd DataStream Maxlen 100 * IP 231.17.140.219

Wpisy Stream Redis

Aby uzyskać liczbę wpisów w strumieniu Redis, możemy użyć polecenia XLEN jako:

127.0.0.1: 6379> Xlen DataStream
(liczba całkowita) 3

Powinno to zwrócić liczbę całkowitą oznaczającą liczbę wpisów w strumieniu.

Uzyskanie danych ze strumienia

Możemy iterować wpisy w strumieniu, określając identyfikatory początkowe i końcowe, jak pokazano na poleceniu:

127.0.0.1: 6379> Xrange DataStream - +
1) 1) „1646904960928-0”
2) 1) „IP”
2) ”231.17.140.219 "
2) 1) „74376383723373-0”
2) 1) „IP”
2) ”231.17.140.219 "
3) 1) „74376383723373-1”
2) 1) „IP”
2) ”231.17.140.219 "

Użycie parametrów - + (dolna i górna granica) zwraca wszystkie wpisy w strumieniu. Możesz również określić zakres jako:

127.0.0.1: 6379> Xrange DataStream 1646904960928-0 74376383723373-0
1) 1) „1646904960928-0”
2) 1) „IP”
2) ”231.17.140.219 "
2) 1) „74376383723373-0”
2) 1) „IP”
2) ”231.17.140.219 "

Polecenie powinno zwrócić wpisy w określonym zakresie identyfikatorów.

Redis czytaj wszystko

Aby odczytać każdy wpis w strumieniu, zaczynając od góry, użyj polecenia XREAD, jak pokazano:

127.0.0.1: 6379> XREAD FILL 100 Strumienie DataStream 0
1) 1) „DataSastream”
2) 1) 1) „1646904960928-0”
2) 1) „IP”
2) ”231.17.140.219 "
2) 1) „74376383723373-0”
2) 1) „IP”
2) ”231.17.140.219 "
3) 1) „74376383723373-1”
2) 1) „IP”
2) ”231.17.140.219 "

Aby odczytać tylko nowe dane w miarę ich przybycia, użyj polecenia jako:

127.0.0.1: 6379> XREAD BLOCK 10000 STRUMATS DATASTREAM $

Polecenie będzie czekać z dowolnych wpisów strumienia dla określonych milisekund, a następnie zamknie. W naszym przypadku ustawiamy oczekiwanie na 10000 milisekund.

Wniosek

Ten samouczek zawiera podstawy pracy ze strumieniami danych w Redis. Sprawdź więcej dokumentów.