Redis Ordined Set Member
Set di Redis Set archivia elementi unici in modo ordinato. Pertanto, può essere utilizzato in applicazioni a bassa latenza come code prioritarie, classifiche in tempo reale, indicizzazione secondaria, ecc. A ciascuno di questi elementi impostati viene assegnato un rango e messo in ordine crescente in base al valore del punteggio. Sono disponibili diversi comandi per aggiungere, aggiornare e rimuovere in modo efficiente i membri del set ordinato. La cosa più importante dei set ordinati è che dopo l'aggiunta o la rimozione di un membro del set, riesce comunque a mantenere i ranghi dei membri e ordinare.
La figura sopra mostra lo scenario di rimozione degli elementi set ordinati Redis e come si comporta quando vengono rimossi più membri da esso. Riesce a mantenere i valori corretti dell'ordine e dell'indice posizionando ciascun membro di conseguenza. Nella sezione successiva, esamineremo l'operazione di Rimuovi set ordinata in modo dettagliato.
Rimozione dei membri con il comando zrem
Il comando zrem viene utilizzato per rimuovere uno o più membri da un set ordinato memorizzato in una chiave specificata. Questo comando ha complessità del tempo logaritmico. Se il comando viene utilizzato per rimuovere un elemento, la complessità temporale è proporzionale al valore logaritmico del numero di elementi. Se sono stati specificati più elementi per rimuovere, sarà O (Number_of_elements_to_remove* log (total_number_of_set_elements)).
Sintassi
Zrem Sorted_Set_Key Membro [Membro ...]
Sorted_set_key: Questo è l'identificatore univoco in cui viene archiviato il set ordinato.
membro: Questo è il membro che dovrebbe essere rimosso.
Il comando zrem rimuoverà i membri specificati dal set ordinato. Restituirà una risposta intera che è il numero di membri rimossi. Ogni volta che si specifica un membro inesistente, verrà saltato. Inoltre, il comando lancerà un errore se la chiave data non contiene un set ordinato.
Esempio - Gestisci la coda dell'ordine dei clienti con Redis Zrem
Prendiamo uno scenario del mondo reale in cui un ristorante serve i suoi clienti in base ai primi arrivati assegnati con la massima priorità. Dopo aver servito prima i clienti con la massima priorità, il ristorante dovrebbe rimuovere ogni ingresso del cliente dalla coda. Il set ordinato Redis sarà una struttura dati ideale per implementare questo scenario in modo efficace ed efficiente.
Ogni membro del set ordinato Redis sembra il seguente.
Come mostrato nell'illustrazione sopra, ogni volta che un cliente è stato servito dal ristorante, quel membro deve essere rimosso dal set ordinato. Possiamo usare il comando zrem per raggiungerlo.
Aggiungiamo i quattro clienti mostrati nella figura sopra. Useremo il comando ZADD per creare il set ordinato Customerqueue e aggiungere quattro membri, come mostrato nel seguente.
Zadd CustomerQueue 1 Cliente: 10
Zadd CustomerQueue 9 Cliente: 1
Zadd CustomerQueue 7 Cliente: 6
Zadd CustomerQueue 5 Cliente: 2
Ispezioniamo il set ordinato usando il comando zrange.
zrange customerqueue 0 10 withscores
Produzione:
Come previsto, il set di ordinamento ordinato è stato ordinato in base al valore prioritario.
Elimina un membro dal set ordinato
IL Cliente: 10 Chi ha la massima priorità sarà servita per prima. Quindi il Cliente: 10 I membri devono essere rimossi dal set ordinato. Usiamo il comando zrem per rimuovere il membro.
Zrem CustomerQueue Cliente: 10
Produzione:
Come previsto, il valore di reso è 1, il che significa che una voce è stata rimossa. Ispezioniamo il Customerqueue Ancora.
Il membro Cliente: 10 è stato eliminato con successo.
Elimina più membri dal set ordinato
Diciamo entrambi Cliente: 2 E Cliente: 6 sono stati serviti da due Windows Parallelly. Quindi, dovremmo eliminare entrambi i membri dal set ordinato. Possiamo usare il comando zrem per eliminare entrambi i membri contemporaneamente.
Zrem CustomerQueue Cliente: 2 Cliente: 6
Produzione:
Come previsto, il valore di reso è 2, il che indica che due membri sono stati eliminati. Ispezioniamo di nuovo l'intero set ordinato.
Si consiglia il comando zrem per utilizzare ogni volta che è necessario rimuovere gli elementi da un set ordinato.
Conclusione
Per riassumere, il comando zrem viene utilizzato per rimuovere uno o più elementi da un set ordinato Redis memorizzato su una determinata chiave. Elimina semplicemente i membri specificati dal set ordinato. Inoltre, l'ordine sarà mantenuto nel set ordinato risultante. Come indicato sopra, ha una complessità temporale logaritmica che fa utilizzare il comando in applicazioni in tempo reale. Pertanto, si consiglia il comando zrem per l'uso ogni volta che è necessario rimuovere gli elementi da un set ordinato.