I flussi consentono di consumare lo stesso flusso da diversi consumatori utilizzando il comando XRead. Con questo, gli stessi messaggi verranno inviati a più client. In alcuni casi, dobbiamo spingere un diverso sottoinsieme di messaggi dallo stesso flusso a più consumatori. Il concetto di gruppi di consumatori è stato implementato con Redis Streams per supportarlo come nella seguente illustrazione.
Come mostrato nell'illustrazione sopra, i tre consumatori Consumer1, Consumer2 e Consumer3 stanno consumando voci diverse dal flusso Userqueries. Ognuno di questi consumatori fa parte del gruppo di consumatori 1. Essere un membro del "consumatore, gruppo 1" garantisce i seguenti fatti:
Il comando xgroup
Lo XGroup è il comando contenitore per la gestione dei gruppi di consumatori associati ai flussi di Redis. È costituito da diversi importanti sottocombi per creare/eliminare i gruppi di consumatori e creare/eliminare i consumatori appartenenti a un gruppo. La sintassi di base del comando xgroup è la seguente:
XGroup [[Value] [Options]…]: Il nome del sottocomando per operazioni come la creazione e la cancellazione di consumatori e gruppi di consumatori.
: Gli argomenti del sottocomando se disponibili.
[valore]: Se un argomento prende un valore, può essere specificato. È facoltativo e consentito solo per determinati comandi.
Il risultato restituito varierà in base al sub-comand specificato.
I sottocombi XGroup
Diversi sottocampi sono disponibili per l'uso con il comando xgroup. C'è un sottocomando speciale chiamato 'aiuto' che visualizza tutti i sottocampi disponibili per l'uso.
Aiuto XGROUPIL aiuto Il sottocomando restituisce un array di sottocampi con le loro descrizioni.
CREARE
IL CREARE Il sottocomando può essere utilizzato per creare un nuovo gruppo di consumatori per un determinato flusso. La sintassi è la seguente:
Ciò creerà un nuovo gruppo di consumatori identificato dal "gruppo_ group" associato al dato "stream_key '. IL 'Mkstream' l'opzione crea un nuovo flusso con la lunghezza di 0 se il flusso specificato non esiste nel Redis DataStore.
CreateConsumer
Quando è necessario creare un consumatore per un determinato gruppo, è possibile utilizzare il sottocomando CreateConsumer. Accetta solo la chiave di streaming, il nome del gruppo di consumatori e un nome univoco del consumatore come argomenti.
Delconsumer
Un consumatore creato può essere eliminato utilizzando il sottocomando DelConsumer con il comando xgroup. La sintassi del sottocomando Delconsumer è la seguente:
Si noti che prima di eliminare un consumatore dal gruppo del consumatore è richiedere o riconoscere tutti i messaggi in sospeso associati al consumatore. Questo comando restituirà il numero di messaggi in sospeso associati al consumatore eliminato.
DISTRUGGERE
Ogni volta che è necessario eliminare un gruppo di consumatori con tutti i consumatori e i messaggi in sospeso, il sottocomando di Destrow può essere utilizzato. Quindi, si consiglia di utilizzare questo comando con cura.
Questo comando restituirà un numero intero 0 o 1 che è il conteggio dei gruppi di consumatori cancellati.
IMPOSTA L'ID
Il sottocomando setid consente di modificare l'ultimo valore ID fornito. Ogni volta che è necessario elaborare tutte le voci dal flusso, l'ultimo ID consegnato dovrebbe essere impostato su 0 utilizzando il sottocomando setid.
Se l'ultimo ID consegnato è stato impostato correttamente, il comando restituirà una semplice stringa OK.
Conclusione
Il comando contenitore XGroup viene utilizzato per gestire i gruppi di consumo associati a un determinato flusso. Lo speciale AIUTO Il comando può essere utilizzato per visualizzare tutti i sottocombi disponibili per il comando xgroup. La creazione e la cancellazione di consumatori e gruppi di consumatori possono essere eseguiti utilizzando i sottocombi menzionati. Inoltre, il sottocomando SETID supporta l'aggiornamento dell'ultimo ID consegnato di un determinato gruppo di consumatori. Nel complesso, l'output del comando XGroup varia con il sottocomando utilizzato.