Medlemmer av et sett
Som nevnt inneholder Redis -sett unike strengelementer. De allerede eksisterende varene vil ikke bli akseptert av Redis -sett og vil bli ignorert. Videre kan ett enkelt sett inneholde opptil 4 milliarder unike strenger.
Redis-settets natur av å holde unike medlemmer kommer godt med i flere tilfeller.
Scard -kommandoen
Scard -kommandoen, forkortelse for den faste kardinaliteten, returnerer antall medlemmer i et sett som er lagret på en gitt nøkkel. Den opererer i O (1) tidskompleksitet, noe som betyr at den gangen Scard -kommandoen tar for å utføre, ikke er avhengige av antall medlemmer i det gitte settet. Det tar alltid en konstant tid.
Scard -kommandoen har en veldig enkel syntaks, som vist i det følgende.
SCARD SET_KEYset_key: Nøkkelen til Redis -settet
Denne kommandoen returnerer en heltallverdi som er antall medlemmer i settet.
Bruk sak - Tell de unike besøkende på et nettsted
Anta at et "Yummypizza" pizzaselskap vedlikeholder et nettsted som heter Yummypizza.com hvor folk kan bestille pizza online. For å holde rede på salgs- og kundegrunnlaget, opprettholder de en Redis -database for å lagre alle de unike besøkende på nettstedet hver måned.
Hver gang en bruker besøker Yummypizza -nettstedet, bør bruker -IDen legges til Redis -databasen. Den samme brukeren bør heller ikke legges til databasen også. Så den ideelle datastrukturen er Redis -settet, der sett bare lagrer unike medlemmer.
La oss anta at fem brukere har besøkt nettstedet, og disse medlemmene blir lagt til Redis -databasen, som vist i det følgende.
Sadd Yummypizzavisitors: Oktober John Mary Raza Stoinis PrinceSom forventet er heltall 5 blitt returnert, noe som betyr at de fem medlemmene blir lagt til settet som er lagret på nøkkelen “Yummypizzavisitors: oktober.”
På slutten av dagen må selskapsadministratorer sjekke det totale antallet unike besøkende på nettstedet. Så den faste kardinaliteten må beregnes. Heldigvis kommer den tidligere diskuterte Scard -kommandoen godt med i denne typen scenarier.
La oss utføre Scard -kommandoen på settet som er lagret på Key "Yummypizzavisitors: oktober.”
Scard Yummypizzavisitors: oktoberUtgangen er 5, som betyr at fem unike medlemmer er i det spesifiserte settet. Denne kommandoen kjører for fort. Det spiller ingen rolle fem medlemmer eller 50000 medlemmer; Utførelsestiden vil være konstant.
Anta at den spesifiserte set -tasten ikke eksisterer i Redis -databasen. Deretter vil utgangen være 0, som vist i følgende eksempel. I dette tilfellet skal vi spesifisere en nøkkel som ikke er i databasen.
SCARD NONS -EXISTINGEYKonklusjon
For å oppsummere, er Redis Set en ideell kandidat for lagring av unike strenger. Som diskutert, er det viktigste med Redis -settet at de fleste av de tilhørende settoperasjoner tar en konstant tid å utføre. Scard -kommandoen er en av de mest brukte settkommandoene for å beregne det totale antallet faste medlemmer for et gitt sett som er lagret på en spesifisert nøkkel. Uansett hvor mange faste medlemmer som er tilgjengelige, tar denne kommandoen konstant tid å gi utdataene. Som vist i det siste eksemplet, hvis set -tasten ikke eksisterer, vil utgangen være 0.