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.219W 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.219W 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.219Wpisy Stream Redis
Aby uzyskać liczbę wpisów w strumieniu Redis, możemy użyć polecenia XLEN jako:
127.0.0.1: 6379> Xlen DataStreamPowinno 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 - +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-0Polecenie 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 0Aby 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.