Redis Scard

Redis Scard
Redis -sett er uordnede samlinger av strenger som ikke inneholder duplikater. Disse ligner veldig på Java -hashsettene, Python -sett osv. Det viktigste er at 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 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.

  • Evne til å utføre standard angitt operasjoner som union, kryss og forskjell.
  • Sporing av unike besøkende på et nettsted
  • Representere relasjoner i den virkelige verden

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_KEY

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

Som 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: oktober

Utgangen 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 -EXISTINGEY

Konklusjon

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.