“Sett kan bestå av en begrenset samling av alfabeter, numeriske verdier eller til og med virkelige objekter. I antall systemer har vi et sett med operasjoner for å utføre matematiske beregninger. Tilsvarende er det nødvendig. I denne guiden vil vi bare fokusere på faste unionsoperasjoner. Set Union er definert som de distinkte elementene som er i sett A, i sett B, eller begge sett A og B, der A og B er to gitte sett.”
Som vist i figuren ovenfor, tilhører alle de distinkte elementene sett A og sett B, eller begge kalles foreningen av sett A og sett B.
Redis sett og Sunion Command
Redis i minnet Data Store støtter angitte datatyper for å holde en samling unike strengmedlemmer på en uordnet måte. Det støtter store settoperasjoner som union, kryss og forskjell også. I denne diskusjonen vil vi fokusere på unionsoperasjonen i Redis -sett. Sunion -kommandoen brukes til å få foreningen av gitte sett. Den har o (n) lineær tidskompleksitet der n er antall medlemmer i alle settene.
Følgende er syntaks for Sunion -kommandoen.
Sunion set_key [set_key…]
set_key: Nøkkelen knyttet til settet.
Sunion -kommandoen godtar mer enn ett sett. Hvis du har spesifisert et enkelt sett i kommandoen, vil returen være alle elementene som tilhører det spesifiserte settet.
Denne kommandoen returnerer et annet sett som inneholder alle de distinkte medlemmene som følge av foreningen av gitte sett, som vist i følgende figur.
Bruk sak: Få alle besøkende på selskapets nettsteder
La oss anta at et selskap opprettholder 3 nettsteder for forskjellige markedsføringsformål. Hver nettsted har et stort antall registrerte brukere. I løpet av jula planlegger selskapet å sende gavekort til alle aktive brukere som besøkte sine 3 nettsteder. Selskapet holder oversikt over månedlige besøkende i en Redis Data Store. Siden de trenger å opprettholde distinkte brukere som besøker månedlig, bruker de Redis -sett her.
Hvis bruker A besøker nettstedet tidlig på denne måneden, vil bli lagt til settet. Men følgende besøk i samme måned for bruker A vil ikke legge til en ny post til databasen.
La oss opprette tre sett med noen dummy bruker -ID -er ved å bruke SADD -kommandoen som følger.
Det første settet, Site1: Besøkende, brukes til å holde brukerens besøk på nettsted 1.
Sadd Site1: Besøkende "Jack" "Harry_12" "Mary4" "Saumya12" "Ricky_Martin"
Neste, The Site2: Besøkende sett vil bli opprettet som følger.
Sadd Site2: Besøkende "Mary4" "Linkon"
Endelig settet Site3: Besøkende, som holder besøkende på sted 3.
Sadd Site3: Besøkende "Linkon" "Deva" "Martin" "John12"
La oss inspisere hvert sett og bekrefte at alle medlemmene er lagret riktig. Vi vil bruke Smembers -kommandoen for å hente medlemmer per sett.
Smør Site1: Besøkende
Smør Site2: Besøkende
Smør Site3: Besøkende
Produksjon
Nå krever selskapet å hente alle de fremtredende besøkende på alle tre nettstedene. Dette er foreningen av tre sett som vi har opprettet rett før.
Sunion Site1: Besøkende Site2: Besøkende Site3: Besøkende
Produksjon
Som forventet inneholder den resulterende listen alle de forskjellige medlemmene fra alle tre settene: Site1: Besøkende, Site2: Besøkende og Site3: Besøkende.
La oss spesifisere et ikke-eksisterende sett i kommandoen og se utdataene.
Sunion Site1: Besøkende Site2: Besøkende Site3: Besøkende Site4
I kommandoen ovenfor, Site4 er et ikke-eksisterende sett, men det er ingen forskjell i den resulterende samlingen av medlemmer fordi Site4 har blitt betraktet som et tomt sett av Sunion -kommandoen.
Vi kan til og med spesifisere et enkelt sett som det faste argumentet. I så fall vil unionen inneholde alle elementene i det spesifiserte settet.
Sunion Site2: Besøkende
Produksjon
Som forventet inneholder det resulterende settet alle elementene i SITE2: Besøkende sett. Totalt sett er Sunion -kommandoen veldig nyttig i å ta foreningen av flere sett, som bruker betydelig tid når den utføres manuelt.
Konklusjon
For å konkludere, kan Sunion -kommandoen brukes til å hente foreningen av gitte sett. Denne kommandoen fungerer på lineær tidskompleksitet og har en veldig enkel syntaks der den bare aksepterer nøklene til settene du trenger for å få unionen. Som fremhevet i ovennevnte seksjoner, returnerer Sunion -kommandoen en liste over medlemmer som følge av foreningen av de spesifiserte settene. Til slutt vil de ikke-eksisterende nøklene som er spesifisert i kommandoen bli betraktet som tomme sett.