Redis Xgroup

Redis Xgroup
Strumienie Redis zostały wprowadzone z wersji 5.0, który reprezentuje tradycyjną strukturę danych dziennika tylko w dodatku. Strumienie Redis są bardziej zaawansowane niż zwykły dziennik, w którym obsługuje grupy konsumenckie i szybszy dostęp do elementów strumienia.

Strumienie umożliwiają zużycie tego samego strumienia przez różnych konsumentów za pomocą polecenia XREAD. Dzięki temu te same wiadomości zostaną wysłane do wielu klientów. W niektórych przypadkach musimy przekazać inny podzbiór wiadomości z tego samego strumienia do wielu konsumentów. Koncepcja grup konsumenckich została wdrożona ze strumieniami Redis, aby to obsługiwać, jak na następującej ilustracji.

Jak pokazano na powyższej ilustracji, trzej konsumenci Consumer1, Consumer2 i Consumer3 zużywają różne wpisy od strumienia Userqueries. Każdy z tych konsumentów jest częścią grupy konsumenckiej 1. Będąc członkiem „konsumenta, grupa 1” gwarantuje następujące fakty:

  • Każdy wpis zostanie pochłonięty przez innego konsumenta z trzech konsumentów w danym momencie. Nie zużywa żadnego wejścia przez dwóch lub więcej konsumentów jednocześnie.
  • Konieczne jest wyraźne potwierdzenie, aby powiadomić, że pchane wiadomości zostały odpowiednio zużyte przez konsumenta.
  • Grupa konsumencka 1 posiada ostatni dostarczony identyfikator wpisu i ilekroć konsument prosi o nowe wiadomości, zapewnia tylko najnowsze wiadomości.
  • Ilekroć konsument pyta historię wpisów należących do danego strumienia, pokaże tylko wiadomości dostarczane temu konkretnemu konsumentowi.
    • Konsument 2 tylko widzi Query2: MSG2 i zapytanie5: wpisy MSG5 jako historia wiadomości należących do „Userqueries”

Polecenie XGroup

XGroup to polecenie kontenera do zarządzania grupami konsumentów powiązanych ze strumieniami Redis. Składa się z kilku ważnych podkomisji do tworzenia/usuwania grup konsumenckich i tworzenia/usuwania konsumentów należących do grupy. Podstawowa składnia polecenia XGroup jest następujące:

Xgroup [[wartość] [opcje]…]

: Nazwa podkomendacji operacji takich jak tworzenie i usuwanie konsumentów i grup konsumenckich.

: Argumenty podkomenda, jeśli są dostępne.

[wartość]: Jeśli argument przyjmuje wartość, można go określić. Jest to opcjonalne i dozwolone tylko dla niektórych poleceń.

Zwrócony wynik będzie się różnić w zależności od określonego podmijania.

Podkomendy XGroup

Dostępnych jest kilka subkommmandów do użycia z poleceniem XGroup. Istnieje specjalny podkomenda o nazwie 'pomoc' który wyświetla wszystkie dostępne podkomendy do użycia.

Pomoc XGroup

pomoc Podkomunał zwraca szereg subkommmandów z ich opisami.

TWORZYĆ
TWORZYĆ Podkomenda może być użyta do utworzenia nowej grupy konsumenckiej dla danego strumienia. Składnia jest następująca:

Xgroup Utwórz strumień_key_name entry_id | $ [mkStream] [presriesRead wpisy_read]

Stworzy to nową grupę konsumencką zidentyfikowaną przez „grupa_nazwa”, która jest powiązana z podawanym ”Stream_key '. „Mkstream” Opcja tworzy nowy strumień o długości 0, jeśli określony strumień nie istnieje w danych danych Redis.

CreateConsumer
Kiedy musisz utworzyć konsumenta dla danej grupy, można użyć podkomenda CreateConsumer. Akceptuje tylko klucz strumienia, nazwę grupy konsumenckiej i unikalną nazwę konsumenta jako argumenty.

Xgroup CreateConsumer Stream_Key Group_name Consumer_name

Delconsumer
Utworzonego konsumenta można usunąć za pomocą podkomenda DelConsumer z poleceniem XGroup. Składnia podkomenda Delconsumer jest następująca:

Xgroup DelConsumer Stream_Key Group_name Consumer_name

Zauważ, że przed usunięciem konsumenta z grupy konsumenckiej to ubieganie się lub potwierdzenie wszystkich oczekujących wiadomości związanych z konsumentem. To polecenie zwróci liczbę oczekujących wiadomości powiązanych z usuniętym konsumentem.

ZNISZCZYĆ
Ilekroć musisz usunąć grupę konsumencką ze wszystkimi konsumentami i toczące się wiadomości, można użyć podkomenda niszczenia. Dlatego zaleca się użycie tego polecenia z ostrożnością.

XGroup Destroy Stream_Key Group_name

To polecenie zwróci liczbę całkowitą 0 lub 1, która jest liczbą usuniętych grup konsumenckich.

USTAW ID
SETID SUBCOMAND umożliwia zmodyfikowanie ostatniej dostarczonej wartości identyfikacyjnej. Ilekroć potrzebujesz przetworzenia wszystkich wpisów ze strumienia, ostatni dostarczony identyfikator powinien być ustawiony na 0 za pomocą SETID Subkommmand.

XGroup SETID STREAM_KEY GROUP_NAME Entry_id | $ [PERSIEREAD PITS_READ]

Jeśli ostatni dostarczony identyfikator został poprawnie ustawiony, polecenie zwróci prosty ciąg OK.

Wniosek

Polecenie kontenera XGroup służy do zarządzania grupami konsumencką powiązanymi z danym strumieniem. Specjalny POMOC Komenda może być używana do wyświetlania wszystkich dostępnych podkomendy dla polecenia XGroup. Tworzenie i usunięcie konsumentów i grup konsumenckich można wykonać za pomocą wspomnianych podkomisji. Ponadto SETID Subcommand obsługuje aktualizację ostatniego dostarczonego identyfikatora danej grupy konsumenckiej. Ogólnie rzecz biorąc, wyjście polecenia XGroup zmienia.