Redis Srem

Redis Srem
“Se la tua prossima applicazione Web cerca un modo per archiviare una raccolta di stringhe senza duplicati, i set Redis sono la struttura dei dati di riferimento. I set Redis possono contenere più di quattro miliardi di membri del tipo di stringa, che sono più che sufficienti in casi d'uso pratici. Sono disponibili diversi comandi pre-costruiti per eseguire operazioni di base per avanzate su set come aggiunta, rimozione, controllo dell'esistenza, ecc. La cosa più importante delle operazioni di base di set come add and rimodro è che hanno una complessità temporale costante."

Comando Redis Srem

Il comando Redis SREM viene utilizzato per rimuovere gli elementi da un set memorizzato in una chiave specificata. Dalla versione 2.4.0, questo comando supporta la rimozione di più membri contemporaneamente. Le validazioni sono in atto per i seguenti scenari.

Specifica dei membri inesistenti

Se un membro specificato non fa parte del set dato, quel membro verrà saltato.

Specifica della chiave inesistente

Ogni volta che la chiave non è disponibile, il comando SREM restituirà 0. In tal caso, il comando SREM tratta quell'esistenza inesistente come un set vuoto.

Sintassi:

Il comando SREM ha una sintassi molto semplice, come mostrato nel seguente.

Srem Redis_key Membro [Membro ...]

Redis_key: L'identificatore univoco in cui viene memorizzato il set.

membro: Il membro da rimuovere dall'elenco. Facoltativamente, è possibile specificare più membri.

Il comando SREM restituisce un valore intero che è il conteggio dei membri rimossi correttamente. Ad esempio, se tre membri fossero rimossi dal set, il valore di ritorno sarebbe 3.

Inoltre, se si specifica una chiave che indica un hash o un elenco ma non su un set. In tal caso, il comando SREM aumenterebbe un errore.

Esempio 01 - Rimuovere un membro dal set

Supponiamo che conserveremo ogni mese i migliori fan del tuo sito web in base al livello di interattività. Poiché i set mantengono i membri non duplicati, possiamo assicurare che lo stesso utente non venga aggiunto più volte.

Useremo il comando SADD per aggiungere i primi 5 fan a gennaio al set memorizzato su Key Topfans: gennaio.

SADD Topfans: gennaio Jacknelson Tinamaddy Joshinglish Eoinmorgan Derekharns

Ispezioniamo il Topfans: gennaio Impostare usando il comando Smembers.

SMIMBERS Topfans: gennaio

Produzione:

A causa del comportamento non etico del membro "Tinamaddy", abbiamo avuto l'obbligo di rimuoverla dal set. Ora il comando SREM è il candidato ideale per farlo.

SREM Topfans: gennaio Tinamaddy

Come previsto, l'output è 1, il che significa che un membro è stato rimosso. Ispezioniamo anche i membri esistenti nel set.

SMIMBERS Topfans: gennaio

Come mostrato nell'output di cui sopra, il membro "Tinamaddy" è passato dall'elenco.

Esempio 02 - Rimuovere più membri contemporaneamente

In alcuni scenari, potremmo aver bisogno di rimuovere più di un membro da un set. Quindi, il comando SREM supporta più argomenti dei membri. Diciamo che dobbiamo rimuovere sia i membri "Jacknelson" che "Joshinglish". Il seguente comando lo farebbe per te.

SREM Topfans: gennaio Jacknelson Joshinglish

Il comando ha restituito l'intero 2, il che significa che sono stati rimossi due membri.

La cosa importante da notare è che il comando SREM consuma tempo costante in entrambi gli scenari. Pertanto, si consiglia di utilizzare in applicazioni a bassa latenza.

Conclusione

Per riassumere, il comando SREM opera su strutture di dati impostati. Il suo compito principale è rimuovere un elemento da un set memorizzato in una chiave specificata. Come i comandi Sadd e Sismember, il comando SREM ha una costante complessità del tempo in cui il numero di elementi non avrà effetto sul tempo di esecuzione del comando SREM. Come affermato, dalla versione 2 Redis.4.0, il comando SREM consente di argomenti di più membri. Quindi, puoi eliminare più membri da un determinato elenco contemporaneamente. All'esecuzione di questo comando, restituisce un valore intero che è il numero di elementi rimossi correttamente dall'elenco. Nel complesso, il comando SREM è un candidato ideale da utilizzare in applicazioni a bassa latenza.