Angi TTL -verdien når nøkkelen oppretter
Følgende syntaks brukes til å angi utløpstiden for en gitt Redis -nøkkel på opprettelsestidspunktet:
Sett temp_age 24 Eks 5
"TEMP_AGE" -tasten går ut etter 5 sekunder.
Angi TTL -verdien etter at nøkkelen er opprettet
Redis lar deg først opprette nøkkelen og deretter angi en utløpstid for nøkkelen ved å bruke utløpskommandoen som følger:
Sett TEMP_AGE 24
Utløpe temp_age 5
Det er også mulig å spesifisere en utløpsdato som en UNIX -tidsstempel for en gitt Redis -nøkkel ved å bruke utløpskommandoen som følger:
Utløp TEMP_AGE 1669929041
Den spesifiserte UNIX -tidsstempelet er assosiert med følgende menneskelige lesbare dato:
Thu, 1. desember 2022 21:10:41 GMT
"Temp_age" -tasten utløper 01-12-2022 kl. 21:10:41.
Utløpskommandoen
Kommandoen for utløpstid returnerer utløpsdatoen som en UNIX-tidsstempel som er antall sekunder som er beregnet fra UNIX-epokdatoen (1970-01-01T00: 00: 00Z). Denne kommandoen er nyttig når du har flere nøkler i Redis -databasen med utløpstider, og du må vite den nøyaktige utløpsdatoen for en bestemt nøkkel. Følgende er syntaks for utløpskommandoen:
Expiretime redis_key
Kommandoen for utløpstid er veldig rask på grunn av sin O (1) utførelsestidskompleksitet. Hvis det er en utløpstid som er tilknyttet Redis -nøkkelen, returnerer utløpskommandoen utløpstiden på sekunder som en UNIX -tidsstempel. Ellers returnerer kommandoen et negativt tall -1 eller -2:
-1 Svar - Redis -tasten eksisterer, men det er ingen utløpstid (TTL) tilknyttet det.
-2 Svar - Den spesifiserte Redis -tasten eksisterer ikke i databasen.
Bruk sak:
La oss anta at ABC -selskapet trenger å beholde motorbilens reservedeler bestillingshistorie bare for den siste uken. Derfor bruker de en Redis -database for å lagre kundenavnet som nøkkel- og ordrestypen som verdien. Samtidig lagrer de hver nøkkel med en utløpstid på en uke fra opprettelsesdatoen.
John kjøper en motor fra ABC-selskapet 2022-12-02. Selskapet må legge denne posten til Redis -databasen er som følger:
Sett Customer_John "Engine"
Også "Customer_John" -tasten skal utløpe etter en uke fra 2022-12-02. Så utløpsdatoen er 2022-12-09 kl. 12:00. I dette tilfellet bruker vi utløpskommandoen for å angi utløpsdatoen for denne nøkkelen.
Utløpskommandoen godtar en UNIX -tidsstempel på få sekunder. Vi må oppgi utløpsdatoen som en UNIX -tidsstempel som følger:
Den tilhørende UNIX-tidsstempel for utløpsdatoen (2022-12-09 12:00) er 1670524200).
La oss angi utløpsdatoen som følger:
Utløp Customer_john 1670524200
Her legger vi til bare en kundebestillingsoppføring i databasen. Men det er ikke tilfelle når det gjelder et virkelig verdensscenario. Det kan være hundrevis av kundebestillinger som blir behandlet per uke. Det er vanskelig å følge med på utløpsdatoer for alle kundebestillingsregistreringer.
Expiretime -kommandoen kommer godt med i disse typer scenarier. Hvis du har Redis -nøkkelen, hjelper utløpskommandoen deg til å hente den tilhørende utløpsdatoen på sekunder fra epokdatoen.
La oss hente utløpsdatoen for Customer_John -nøkkelen som følger:
Expiretime customer_john
Som forventet blir UNIX -tidsstempelet returnert. Hvis du konverterer denne tidsstempelverdien til et menneskelig lesbart format, bør den gi den nøyaktige datoen vi angir i forrige trinn.
Kommandoen for utløpstid kan brukes når du har en stor mengde data i Redis -databasen din, og du må vite om utløpsdatoene for noen av tastene.
Når ingen utløpstid for en redis -nøkkel
La oss opprette en Redis -nøkkel uten utløpstid (TTL) som følger:
Sett No_TTL_Key "No TTL Scenario"
Hvis vi utfører utløpskommandoen for denne nøkkelen, bør den returnere -1. Dette er fordi "no_ttl_key" ikke er assosiert med en TTL.
Expiretime no_ttl_key
Når nøkkelen ikke eksisterer
Hvis vi kjører utløpskommandoen ved å spesifisere en nøkkel som ikke eksisterer i den nåværende Redis -databasen, bør den returnere -2 -svaret som følger:
Expiretime doesnt_exist_key
Konklusjon
For å konkludere, brukes Redis utløpskommandoen til å hente utløpsdatoen eller tid for en gitt nøkkel. Det returnerer en UNIX -tidsstempel på få sekunder. Hvis det ikke er noen utløpstid som er tilknyttet en gitt nøkkel, returnerer kommandoen for utløpstid negativ 1. Kommandoen returnerer -2 hvis den spesifiserte tasten ikke eksisterer. Det viktigste er at denne kommandoen kan brukes i høyytelsesapplikasjoner på grunn av den raske utførelsen med O (1) tidskompleksitet.