Et sett kan lagre mer enn fire milliarder unike medlemmer. Store settoperasjoner som Legg til og fjerne har konstant tidskompleksitet, noe som er veldig effektivt. Når du prøver å legge til et eksisterende element til et sett, vil det bare beholde en kopi av det elementet uten å lage et nytt element. Derfor er det ikke nødvendig å legge til eksplisitte duplikatkontroller.
Kommandoen 'Smør'
Det er flere kommandoer tilgjengelig for å operere på Redis -sett. Det er alltid nyttig å hente alle elementene som er lagret i et sett. Vanligvis brukes 'smembers' kommandoen til å hente elementer i et Redis -sett.
Syntaks
Smelkere
Hvert sett har en nøkkel som fungerer som en referanse for rekke elementer.
Eksempel - Teller sidevisninger fra unike brukere
La oss ta et eksempel der nettstedet ditt må telle visningene fra unike brukere. Derfor stoler du ikke på at visninger kommer fra samme bruker -ID. Vi kan bruke et sett for å holde alle de unike brukerne besøke nettstedet ditt.
Vi kan bruke 'Sadd' -kommandoen for å opprette et nytt sett på en spesifisert nøkkel og for å legge til noen medlemmer.
Sadd besøkende "Henry001"
Sadd besøkende "Jackma"
Sadd besøkende "Singh06"
Sadd besøkende "Robin"
Dette ville skape et sett med nøkkelen 'besøkende' med fire medlemmer, som vist i det følgende.
La oss utføre kommandoen 'Smembers' for å sjekke de tilgjengelige medlemmene i settet som er identifisert av nøkkelen 'VisitorIds'.
Produksjon:
Den returnerte matrisen inneholder ingen duplikat bruker -ID -er fordi 'SADD' -kommandoen ikke tillot dupliserte medlemmer å gå inn. Derfor kan du identifisere de unike brukerne som besøkte nettstedet ditt fra kommandoproduksjonen ovenfor.
Vi kan bruke 'Sadd' -kommandoen for å legge til flere medlemmer på en gang uten å utføre den samme kommandoen gjentatte ganger.
Sadd Newvisitors "Singh06" "Henry001" "Jackma" "Robin"
Produksjon:
Det samme resultatet er gitt av 'Smør "-kommandoen.
Kommandoen 'Sinter' kan brukes i stedet for 'Smembers' -kommandoen. Vanligvis returnerer 'Sinter' -kommandoen krysset mellom to sett. Men du kan bruke den ved å passere en tast. Det ville returnere medlemmene i settet som er lagret på den passerte nøkkelen.
Sinter newvisitors
Produksjon:
'Smembers' kommandoprestasjon
Denne kommandoen har en lineær tidskompleksitet som kan representeres som O (N). Det betyr at når medlemstallet øker, vil tiden det tar å returnere utvalget av elementene gå opp.
'Smør "-kommandoen på en ikke-sett type
Vanligvis vil 'Smør "-kommandoen bare fungere med angitte datatyper. Det vil øke en feil for andre datatyper. La oss lage en 'hasj' som vist i det følgende.
HSET MYHASH ID 1 Navn Funnyhash
Vi har laget en hasj kalt 'myhash'. Deretter vil vi sende denne nøkkelen til 'Smør "-kommandoen.
Smør Myhash
Produksjon:
Som forventet returnerer kommandoen en feilmelding ved å indikere at nøkkelen ikke holder en innstilt type verdi. Det er en hasj. Derfor avsluttes 'Smør "-kommandoen med feilmeldingen ovenfor. Så denne kommandoen er spesifikk for å angi datatyper.
Konklusjon
Redis kommer med flere innebygde datatyper. Den støtter sett. Et sett er en uordnet samling av strenger. Det lagrer ikke dupliserte medlemmer. Hvis vi prøver å sette inn et duplikatelement i et sett, vil det bare beholde en enkelt kopi av det medlemmet. Redis Set Operations er veldig effektive. Legg til og fjerne operasjoner har konstant tidskompleksitet. Vi kan bruke 'Smør "-kommandoen for å returnere alle medlemmene som er lagret i et sett på en spesifisert nøkkel. Denne operasjonen har lineær tidskompleksitet og er fremdeles veldig nyttig i virkelige applikasjoner.