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.
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_KEYset_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 PrinceCome 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: ottobreL'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 NESISTINGKEYConclusione
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.