Redis SCARD

Redis Scard



'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_key

set_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.