'Redis-sett er uordnede samlinger av strenger som ikke inneholder noen duplikater. Disse ligner veldig mye på Java HashSets, Python Sets, etc. Viktigst av alt, grunnleggende operasjoner som å legge til, fjerne og sjekke eksistensen av et medlem er svært effektive fordi de opererer i O(1)-tidskompleksitet.'
Medlemmer av et sett
Som nevnt inneholder Redis-sett unike strengelementer. De allerede eksisterende elementene vil ikke bli akseptert av Redis-sett og vil bli ignorert. I tillegg kan ett enkelt sett inneholde opptil 4 milliarder unike strenger.
Redis-settets natur med å ha unike medlemmer kommer godt med i flere brukssaker i den virkelige verden.
- Evne til å utføre standardsettoperasjoner som Union, Intersection og Difference.
- Spore unike besøkende til et nettsted
- Representere relasjoner til virkelige enheter
SCARD-kommandoen
SCARD-kommandoen, forkortelse for Set Cardinality, returnerer antall medlemmer i et sett lagret på en gitt nøkkel. Den opererer i O(1) tidskompleksitet som betyr at tiden SCARD-kommandoen tar å utføre ikke er avhengig 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 heltallsverdi som er antall medlemmer i settet.
Bruksområde – Tell de unike besøkende på et nettsted
Anta at et 'YummyPizza'-pizzaselskap har et nettsted kalt yummypizza.com hvor folk kan bestille pizza på nettet. For å holde styr på salg og kundebase vedlikeholder de en Redis-database for å lagre alle de unike besøkende på nettstedet hver måned.
Hver gang en bruker besøker YummyPizza-nettstedet, skal bruker-ID-en legges til Redis-databasen. Den samme brukeren skal heller ikke legges til i databasen. 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 legges til Redis-databasen, som vist i det følgende.
SADD YummyPizzaBesøkende:Oktober John Mary Raza Stoinis Prince
Som forventet har heltall 5 blitt returnert, noe som betyr at de fem medlemmene legges til settet som er lagret på nøkkelen ' YummyPizzaBesøkende:oktober. ”
På slutten av dagen må bedriftsadministratorer sjekke det totale antallet unike besøkende på nettstedet. Så sett-kardinaliteten må beregnes. Heldigvis kommer den tidligere omtalte SCARD-kommandoen godt med i denne typen scenario.
La oss utføre SCARD-kommandoen på settet som er lagret på tasten ' YummyPizzaBesøkende:oktober. ”
scard YummyPizzaBesøkende:oktober
Utgangen er 5, noe som betyr at fem unike medlemmer er i det angitte settet. Denne kommandoen kjøres for raskt. Det spiller ingen rolle fem medlemmer eller 50 000 medlemmer; utførelsestiden vil være konstant.
Anta at den angitte settnøkkelen 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 NonExistingKey
Konklusjon
For å oppsummere er Redis-sett en ideell kandidat for lagring av unike strenger. Som diskutert er det viktigste med Redis set at de fleste av de tilknyttede settoperasjonene tar konstant tid å utføre. SCARD-kommandoen er en av de mest brukte settkommandoene for å beregne det totale antallet settmedlemmer for et gitt sett lagret på en spesifisert nøkkel. Uansett hvor mange settmedlemmer som er tilgjengelige, tar denne kommandoen konstant tid å gi utdata. Som vist i det siste eksemplet, hvis innstillingsnøkkelen ikke eksisterer, vil utgangen være 0.