Redis utløper hash -tast

Redis utløper hash -tast
Redis er en åpen kildekode, datastrukturbutikk i minnet som brukes som en distribuert, nøkkelverdi-database i minnet. På grunn av den.

I denne guiden skal vi utforske hvordan du utløper nøkler i Redis. Som tittelen antyder, vil vi fokusere på hash -tast utløp, men det generelle konseptet gjelder også for andre nøkler.”

Forutsetninger

For å utføre trinnene som er demonstrert i denne guiden, trenger du følgende komponenter klare til å gå:

  • Et riktig konfigurert Linux-system. Lær mer om å installere Ubuntu.
  • Redis Server installert og konfigurert. Lær mer om å installere Redis på Ubuntu.

Redis Keys

Redis -nøkler er vedvarende som standard, noe som betyr at enhver oppføring vil forbli intakt med mindre slettet manuelt. Selv om denne konfigurasjonen er bra generelt, er det situasjoner der du kanskje vil at nøklene skal utløpe etter en viss tid. Med andre ord, vil du ha det flyktige nøkler.

Nå støtter Redis flere typer nøkler, kategorisert av datatypen. Her er noen av de vanligste datatypene du vil møte:

  • Strenger
  • Lister
  • Settene
  • Hasj

Sjekk ut den offisielle Redis-dokumentasjonen på datatyper for mer dyptgående info. For denne guiden vil vi fokusere på hasjetastene.

Hash -nøkler

I Redis er hashes kart mellom felt (streng) og verdier (streng). På grunn av denne strukturen er det den perfekte datatypen for å representere objekter. La oss forklare med et eksempel. Ta en titt på følgende struktur:

  • user_database
  • David: Password_1
  • Alex: Password_2
  • Mason: Password_3

Her kan vi betrakte user_database som en hasjtast. Inne i denne hashen har vi flere feltverdipar, som representerer brukernavn og passord. La oss implementere det i Redis:

$ Hmset user_database user_1 "DAVID" PASS_1 "PASSWORD_1"
$ Hmset user_database user_2 "alex" pass_2 "passord_2"
$ Hmset user_database user_3 "mason" pass_3 "passord_3"

Som demonstrert bruker Redis kommandoen HMSET for å registrere hasjetastene. For å hente dataene som er lagret i nøkkelen, må vi bruke HGET -kommandoen:

$ Hgget user_database user_1
$ Hgget user_database pass_3

For å få informasjonen om alle feltene samtidig, bruk Hgetall -kommandoen i stedet:

$ Hgetall user_database

I Redis kan en hash -nøkkel ha opptil 2^32 - 1 (mer enn 4 milliarder) feltverdipar. Det meste av tiden brukes hasjes til å representere objekter. På grunn av sin natur kan hashes imidlertid være nyttige i mange situasjoner.

Redis Key utløper

Alle Redis -objektene har utløpstid. Som standard er verdien satt til aldri. Ved å endre denne verdien kan vi imidlertid angi Redis -nøkler som vil utløpe automatisk etter en fast tid. Når utløpstiden er bestått, blir nøkkelen slettet fra databasen.

Selv om det er en generalisert forklaring, er den faktiske mekanismen for nøkkelutløp noe komplisert. Ta en titt på den offisielle Redis-dokumentasjonen for en grundig forklaring av nøkkelutløpsmekanismen.

For å sette en utløpstid, vil vi bruke utløpskommandoen. Følgende eksempel demonstrerer bruken av dem:

$ Set hei "den raske brune reven"
$ Utløp hei 999

Her vil nøkkelen Hello utløpe om 999 sekunder. For å sjekke tiden som er igjen for en nøkkel å utløpe, bruk TTL -kommandoen:

$ Ttl Hei

Utgangen vil returnere tiden igjen før nøkkelen utløper. I tilfelle av en feil kan TTL imidlertid returnere forskjellige verdier:

  • -2 Hvis nøkkelen ikke eksisterer.
  • -1 Hvis nøkkelen ikke har noen tilknyttet utløp.

Utløpende hash -nøkkel

Nå som vi forstår hasjetastene og hvordan viktige utløp fungerer, tid til å sette dem ut i handling.

Fortsetter fra hash -nøkkeleksemplet, la oss sette en utløpstid til User_Database:

$ Utløp bruker_database 999

For å bekrefte denne handlingen, sjekk TTL -verdien til User_Database:

$ Ttl user_database

Utløpe alternativer

Utløpskommandoen kommer med noen tilleggsalternativer som implementerer noen tilleggsbetingelser når du setter utløpstiden. De er som følger:

  • NX: Utløpstiden er bare satt hvis nøkkelen ikke har noen utløp.
  • XX: Utløpstiden er bare satt hvis nøkkelen har en eksisterende utløp.
  • GT: Den nye utløpstiden er satt hvis den nye utløpet er større enn den nåværende.
  • LT: Den nye utløpstiden er satt hvis den nye utløpet er mindre enn den nåværende.

Ved implementering av alternativene, vil kommandoen se slik ut:

$ Utløper

Fortsetter fra forrige eksempel, la oss oppdatere utløpstiden for User_Database:

$ Utløp bruker_database 9999 GT

Kontroller om utløpstiden ble oppdatert:

$ Ttl user_database

Siste tanker

I denne guiden utforsket vi å utløpe en hasjnøkkel i Redis. Redis kommer med en dedikert kommando utløper for å angi utløpstid for nøkler. Vi demonstrerte hvordan du bruker denne kommandoen til å utløpe en demo -nøkkel. Vi har også undersøkt forskjellige alternativer for utløp av kommandoen støtter.

Interessert i å lære mer om Redis? Redis-underkategorien er full av dyptgående guider. Lær mer om vanlige Redis -kommandoer, BitCount -kommandoen, rørledning osv.

Glad databehandling!