Redis Scard

Redis Scard
I set Redis sono raccolte di stringhe non ordinate che non contengono duplicati. Questi sono molto simili agli hashset Java, ai set di pitone, ecc. Ancora più importante, operazioni fondamentali come l'aggiunta, la rimozione e il controllo dell'esistenza di un membro sono altamente efficienti perché operano nella complessità del tempo O (1).

Membri di un set

Come accennato, i set Redis contengono elementi di stringa univoca. Gli articoli già esistenti non saranno accettati dai set di Redis e saranno ignorati. Inoltre, un singolo set può contenere fino a 4 miliardi di stringhe uniche.

La natura di Redis Set di tenere membri unici è utile in diversi casi d'uso nel mondo reale.

  • Capacità di eseguire operazioni di set standard come unione, l'intersezione e la differenza.
  • Monitoraggio dei visitatori unici su un sito web
  • Rappresenta le relazioni di entità del mondo reale

Il comando scad

Il comando scad, abbreviazione per la cardinalità impostata, restituisce il numero di membri in un set memorizzato in una determinata chiave. Opera in O (1) complessità tempo. Ci vuole sempre un tempo costante.

Il comando scad ha una sintassi molto semplice, come mostrato nella seguente.

SCARD SET_KEY

set_key: La chiave del set di Redis

Questo comando restituisce un valore intero che è il numero di membri nel set.

Caso d'uso: conta i visitatori unici su un sito Web

Supponiamo che una società di pizza "Yummypizza" mantenga un sito web chiamato Yummypizza.com dove le persone possono ordinare la pizza online. Per tenere traccia delle vendite e della base di clienti, mantengono un database Redis per archiviare tutti i visitatori unici sul sito Web ogni mese.

Ogni volta che un utente visita il sito Web Yummypizza, l'ID utente deve essere aggiunto al database Redis. Inoltre, anche lo stesso utente non dovrebbe essere aggiunto al database. Quindi, la struttura dei dati ideali è il set di Redis, dove set solo archivia i membri unici.

Supponiamo che cinque utenti abbiano visitato il sito Web e che questi membri vengano aggiunti al database Redis, come mostrato nel seguente.

Sadd Yummypizzavisitors: ottobre John Mary Raza Stoinis Prince

Come previsto, è stato restituito l'intero 5, il che significa che i cinque membri vengono aggiunti al set memorizzato a chiave "Yummypizzavisitors: ottobre."

Alla fine della giornata, gli amministratori dell'azienda devono controllare il numero totale di visitatori univoci del sito Web. Quindi, la cardinalità impostata deve essere calcolata. Fortunatamente, il comando SCARD precedentemente discusso è utile in questo tipo di scenario.

Eseguiamo il comando SCARD sul set memorizzato a chiave "Yummypizzavisitors: ottobre."

SCARD YUMMIPIZZAVISITORS: ottobre

L'output è 5, il che significa che cinque membri unici sono nel set specificato. Questo comando esegue troppo velocemente. Non importa cinque membri o 50000 membri; Il tempo di esecuzione sarà costante.

Supponiamo che il tasto set specificato non esista nel database Redis. Quindi, l'output sarà 0, come mostrato nel seguente esempio. In questo caso, specificheremo una chiave che non si trova nel database.

SCARD NESISTINGKEY

Conclusione

Per riassumere, Redis Set è un candidato ideale per la conservazione delle stringhe uniche. Come discusso, la cosa più importante del set di Redis è che la maggior parte delle operazioni di set associate richiede un tempo costante per eseguire. Il comando SCARD è uno dei comandi set più utilizzati per calcolare il numero totale di membri del set per un determinato set memorizzato in una chiave specificata. Non importa quanti membri del set sono disponibili, questo comando richiede tempo costante per fornire l'output. Come mostrato nell'ultimo esempio, se il tasto SET non esiste, l'uscita sarà 0.