Håndtering af Nøgleudløb
TTL angiver varigheden, en nøgle forbliver tilgængelig i databasen. Når denne tid udløber, bliver nøglen automatisk slettet.
Som vist i eksemplet bliver nøgler med udløbet TTL fjernet, mens de resterende nøgler fortsat eksisterer i databasen med deres opdaterede levetid. Dette hjælper med at optimere hukommelsesforbruget og automatisere fjernelsen af forældede data.
Indstilling af nøgleudløb
Det er muligt at angive udløbstid for en nøgle på flere måder. For eksempel kan du definere en nøgle og angive, at den skal eksistere i en time:
SET my_key "session:31003"
EXPIRE my_key 3600
Her vil nøglen my_key automatisk blive slettet efter 3600 sekunder (1 time).
Alternativt kan du kombinere at sætte en værdi og definere TTL i én enkelt kommando. For eksempel for at angive TTL i sekunder eller millisekunder:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
I det første tilfælde vil nøglen udløbe om 3600 sekunder, og i det andet tilfælde vil den udløbe om 60000 millisekunder (1 minut).
Kontrol af resterende TTL
For at kontrollere hvor meget tid der er tilbage, før en nøgle udløber, kan du bruge TTL-kommandoen:
TTL my_key
Hvis nøglen eksisterer og har en TTL, returnerer kommandoen den resterende tid i sekunder. For eksempel, hvis resultatet er 120, udløber nøglen om 2 minutter. Hvis nøglen ikke har nogen udløbstid, er resultatet -1, og hvis nøglen ikke eksisterer, er resultatet -2.
For mere præcis kontrol kan du bruge millisekunder:
PTTL my_key
For eksempel, hvis resultatet er 45000, betyder det, at nøglen udløber om 45 sekunder.
Fjernelse af nøgleudløb
Hvis en nøgle ikke længere skal udløbe automatisk, kan du fjerne dens TTL:
PERSIST my_key
Efter denne kommando vil nøglen my_key blive permanent og vil ikke blive slettet automatisk.
Praktiske Anvendelser
Håndtering af nøgleudløb har en bred vifte af anvendelsesmuligheder. For eksempel i caching fjernes udløbne poster automatisk, hvilket frigør hukommelse. Ved sessionhåndtering sikrer det, at inaktive sessioner afsluttes, hvilket forbedrer både systemsikkerhed og ydelse.
1. Hvad er formålet med at håndtere TTL for nøgler i Redis?
2. Hvad sker der, når du kører PERSIST-kommandoen på en nøgle?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain how to set a TTL for multiple keys at once?
What happens if I reset the TTL of a key before it expires?
Are there any best practices for managing TTLs in Redis?
Awesome!
Completion rate improved to 3.33
Håndtering af Nøgleudløb
Stryg for at vise menuen
TTL angiver varigheden, en nøgle forbliver tilgængelig i databasen. Når denne tid udløber, bliver nøglen automatisk slettet.
Som vist i eksemplet bliver nøgler med udløbet TTL fjernet, mens de resterende nøgler fortsat eksisterer i databasen med deres opdaterede levetid. Dette hjælper med at optimere hukommelsesforbruget og automatisere fjernelsen af forældede data.
Indstilling af nøgleudløb
Det er muligt at angive udløbstid for en nøgle på flere måder. For eksempel kan du definere en nøgle og angive, at den skal eksistere i en time:
SET my_key "session:31003"
EXPIRE my_key 3600
Her vil nøglen my_key automatisk blive slettet efter 3600 sekunder (1 time).
Alternativt kan du kombinere at sætte en værdi og definere TTL i én enkelt kommando. For eksempel for at angive TTL i sekunder eller millisekunder:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
I det første tilfælde vil nøglen udløbe om 3600 sekunder, og i det andet tilfælde vil den udløbe om 60000 millisekunder (1 minut).
Kontrol af resterende TTL
For at kontrollere hvor meget tid der er tilbage, før en nøgle udløber, kan du bruge TTL-kommandoen:
TTL my_key
Hvis nøglen eksisterer og har en TTL, returnerer kommandoen den resterende tid i sekunder. For eksempel, hvis resultatet er 120, udløber nøglen om 2 minutter. Hvis nøglen ikke har nogen udløbstid, er resultatet -1, og hvis nøglen ikke eksisterer, er resultatet -2.
For mere præcis kontrol kan du bruge millisekunder:
PTTL my_key
For eksempel, hvis resultatet er 45000, betyder det, at nøglen udløber om 45 sekunder.
Fjernelse af nøgleudløb
Hvis en nøgle ikke længere skal udløbe automatisk, kan du fjerne dens TTL:
PERSIST my_key
Efter denne kommando vil nøglen my_key blive permanent og vil ikke blive slettet automatisk.
Praktiske Anvendelser
Håndtering af nøgleudløb har en bred vifte af anvendelsesmuligheder. For eksempel i caching fjernes udløbne poster automatisk, hvilket frigør hukommelse. Ved sessionhåndtering sikrer det, at inaktive sessioner afsluttes, hvilket forbedrer både systemsikkerhed og ydelse.
1. Hvad er formålet med at håndtere TTL for nøgler i Redis?
2. Hvad sker der, når du kører PERSIST-kommandoen på en nøgle?
Tak for dine kommentarer!