Som vist i illustrasjonen ovenfor, kan vi enkelt kartlegge en virkelighetens enhet til en Redis-hasj. HSET-kommandoen brukes til å lage en ny hasj og legge til feltverdipar til den.”
HDEL -kommandoen
HDEL -kommandoen brukes til å fjerne ett eller flere feltverdipar fra en Redis -hasj lagret på en gitt nøkkel. Siden denne kommandoen godtar flere feltargumenter, er tidskompleksiteten direkte proporsjonal med antall felt som skal fjernes.
Syntaks
HDEL Hash_Key Field [felt…]Hash_key : Redis -nøkkelen til hasj.
felt : Navnet på feltet du vil fjerne.
Denne kommandoen gir et heltalls svar som er antall felt fjernet fra den spesifiserte hasj. Hvis du har spesifisert ikke-eksisterende felt, vil de bli ignorert og ikke talt.
I tillegg, når nøkkelen til hasj ikke eksisterer, vil HDEL -kommandoen returnere 0.
Bruk sak 01: Fjern uønskede brukerdetaljer
La oss anta et scenario der vi ønsker å lagre tusenvis av ansattes detaljer om et selskap. Siden Redis Hashes er mer minneoptimaliserte, er det den ideelle kandidaten for denne typen arbeid.
Først skal vi lage en ny hasj Ansatte deles: ID: 1 å lagre detaljene til en ansatt. HSET -kommandoen vil bli brukt.
HSET Employedetails: ID: 1 Empid 1 Navn Jackhenry Alder 40 Lønn $ 50000Deretter vil vi bekrefte at hasjen er lagt til vellykket. Hgetall -kommandoen kan brukes til å spørre detaljer relatert til en spesifisert hash -tast.
HGETALL AnsatteTeils: ID: 1La oss si at selskapsledelsen tenkte på å outsourcere lønnsbehandlingen til en ekstern parti. Derfor lønnsfeltet i hasj Ansatte deles: ID: 1 er ikke lenger nødvendig.
La oss bruke HDEL -kommandoen for å fjerne lønnsfeltet fra hasj.
HDEL Employedetails: ID: 1 lønnDette skal slette feltet lønn og dens verdi.
Produksjon
La oss si at selskapet har lagret ansattes permisjonsdetaljer i en egen hasj som er lagret på nøkkelen Ansatt elegant: ID: 1. Denne hashen inneholder følgende detaljer om en ansatt.
Nå tenkte selskapet å fjerne noen unødvendige felt fra denne hasj. Siden permisjonens grunn og EmergencyNo Fields ikke lenger er nødvendig, vil vi bruke HDEL -kommandoen for å fjerne de to feltene samtidig.
HDEL EmployeLeave: ID: 1 ÅrsakProduksjon
Som forventet returnerte kommandoen 2, noe som betyr at to felt har blitt slettet fra hasj Ansatt elegant: ID: 1.
La oss prøve å fjerne et felt som ikke eksisterer i hasj.
HDEL EmployeLeave: ID: 1 Felt1Det returnerte 0, noe som betyr at ingenting skjedde fordi feltet1 ikke eksisterer.
Hver gang du spesifiserer en hash -tast som ikke eksisterer, vil HDEL -kommandoen returnere 0, som vist i det følgende.
HDEL-kommandoen er en veldig enkel kommando å bruke, og den kan brukes til å fjerne flere feltverdipar fra en hasj effektivt.
Konklusjon
Oppsummert kan Redis Hashes holde en rekke strengfeltverdipar i lite minne. En hasj kan lagre mer enn fire milliarder felt i en Redis -tilfelle. Derfor er det en veldig minneoptimalisert datastruktur som skal brukes i virkelige applikasjoner som omhandler hundrevis av objekter. Som diskutert, når du trenger å fjerne ett eller flere unødvendige feltverdipar/s fra en Redis-hasj, kan du bruke HDEL-kommandoen. Den opererer i O (n) tidskompleksitet. Totalt sett er HDEL -kommandoen en veldig nyttig kommando for å bli kvitt uønskede felt i en Redis -hasj lagret i en gitt nøkkel.