Eksempel Bruk av en Redis Hash er å lagre informasjon om et innlegg. En hash kan brukes til å lagre informasjon som post_id, forfatternavn, publiser_data, kategori og mer.
Hashes er en av de grunnleggende datatypene, og om du er ny på Redis eller en erfaren proff, kan det være veldig gunstig å vite hvordan du skal jobbe med hashes.
Essensen av denne opplæringen er å gi deg den grunnleggende kunnskapen til å jobbe med hashes i Redis.
I denne guiden har vi brukt den nyeste versjonen av Redis -serveren som kjører på et Debian 11 -system. Selv om du ikke trenger å gjenskape dette miljøet, anbefaler vi å bruke den innfødte Redis CLI. Å bruke Redis CLI vil sikre at du får lignende utganger som denne guiden.
Hvordan lage en hasj
Det første vi vil lære er hvordan du lager en hasj i Redis.
Åpne Redis CLI og bruk HSET -kommandoen til å opprette en hasj. Kommandoen tar navnet på hash -tasten, feltet og verdien som argumenter.
Ta eksemplet vist nedenfor:
127.0.0.1: 6379> Hset Post -tittel "Hello World Title.""
(Heltall) 1
Kommandoen ovenfor skaper en hasj med tastenes nøkkel og et tittelfelt og den tilsvarende verdien.
Kommandoen returnerer et heltall 1 hvis hasj opprettes med hell.
Det er bra å sikre at du gir alle argumentene i HSET -kommandoen for å unngå feil. Følgende kommando returnerer for eksempel en feil ettersom ett argument mangler i kommandoen:
127.0.0.1: 6379> HSET POST POST_ID
(Feil) feil feil nummer av argumenter til 'Hset' kommando
Merk: Hvis du kjører HSET -kommandoen der en hasj allerede eksisterer, vil Redis overskrive innholdet i den gamle hasj med den nye.
Ta for eksempel en titt på kommandoen nedenfor:
127.0.0.1: 6379> Hset Post -tittel "Overskrevet tittel.""
(Heltall) 0
I dette tilfellet returnerer HSET -kommandoen et heltall 0 hvis den spesifiserte verdien oppdateres vellykket.
For å lage flere felt og deres tilsvarende verdier i en enkelt kommando, bruk HMSet -kommandoen.
For eksempel:
127.0.0.1: 6379> HMSET POST POST_ID 1 Tittel "Hello World Title."Author_name" Linuxhint "Publiser_date" 02/02/2022 "kategorien" Linux "
Ok
Kommandoen returnerer strengen “OK” hvis hasj opprettes med hell.
Hvordan du henter informasjon fra en hasj
La oss diskutere de forskjellige kommandoene du kan bruke til å hente informasjon fra en Redis Hash.
For å få verdien tilknyttet et bestemt felt, bruk HGET -kommandoen. Kommandoen tar feltnavnet som argument.
For eksempel:
127.0.0.1: 6379> Hget Post -tittel
"Hello World Title.""
Kommandoen vil gjenopprette den tilhørende verdien av den spesifiserte tasten.
For å få alle nøkler i en hasj, bruk Hgetall -kommandoen. Denne kommandoen tar hash -nøkkelen som argument.
Tenk på eksemplet som er vist nedenfor:
127.0.0.1: 6379> Hgetall Post
1) "Tittel"
2) "Hello World Title.""
3) "Post_id"
4) "1"
5) "Author_name"
6) "Linuxhint"
7) "Publiser_date"
8) "02/02/2022"
9) "Kategoregry"
10) "Linux"
Som vist i eksempelutgangen ovenfor, returnerer Hgetall -kommandoen feltene og tilhørende verdier.
Hvis du vil hente verdier fra flere felt samtidig, kan du bruke kommandoen hmget. Kommandoen tar nøkkelen og feltene du ønsker å hente som argumenter.
Ta en titt på eksemplet vist nedenfor:
127.0.0.1: 6379> hmget post_id tittel forfatternavn
1) "1"
2) "Hello World Title.""
3) "Linuxhint"
Eksemplet over spesifiserer nøkkelen og flere felt, og kommandoen returnerer de tilsvarende verdiene.
Forsikre deg om at det spesifiserte feltet eksisterer; Ellers vil Redis returnere en null verdi.
Anta at du bare vil se feltene i en spesifikk hasj, men ikke deres tilsvarende verdier? For det kan du bruke HKEYS -kommandoen:
127.0.0.1: 6379> Hkeys Post
1) "Tittel"
2) "Post_id"
3) "Author_name"
4) "Publiser_date"
5) "Kategoregry"
I eksemplet over tar Hkey -kommandoen nøkkelen som argumentet og returnerer alle feltene i hasj.
Tilsvarende kan du bruke HVALS -kommandoen til å hente verdiene i hasj.
127.0.0.1: 6379> HVALS POST
1) "Hello World Title.""
2) "1"
3) "Linuxhint"
4) "02/02/2022"
5) "Linux"
Kommandoen vil bare returnere verdiene og ikke deres felt.
For å få en heltallverdi av det totale antall felt i hasj, bruk HVAL -kommandoen.
127.0.0.1: 6379> HLEN POST
(Heltall) 5
Eksempelkommandoen ovenfor viser at hasjen inneholder fem felt.
Slette nøkler i en hasj
For å fjerne et felt fra en spesifikk hasj, kan du bruke HDEL -kommandoen. Kommandoen tar enkelt- eller flere felt som argumenter.
Eksempel:
127.0.0.1: 6379> HDEL POST POST_ID Tittel
(Heltall) 2
Kommandoen returnerer et heltallverdi som indikerer antall felt fjernet fra hasj.
Hvis feltet ikke eksisterer, ignorerer kommandoen det og fjerner bare de eksisterende.
For å sjekke om et felt eksisterer i hasj, bruk heksistene -kommandoen.
127.0.0.1: 6379> Hexists Post Author_name
(Heltall) 1
Kommandoen returnerer heltall 1 hvis nøkkelen eksisterer og 0 hvis ikke.
Konklusjon
Opplæringen dekker kommandoer og eksempler som skal brukes når du oppretter og jobber med hashes i Redis. Det er andre kommandoer utenfor omfanget av denne opplæringen. Sjekk dokumentasjonen for å lære mer.
Takk for at du leser!