Hantering av Nyckelutgång
TTL anger tidsperioden som en nyckel förblir tillgänglig i databasen. När denna tid löper ut tas nyckeln automatiskt bort.
Som visas i exemplet tas nycklar med utgången TTL bort, medan de återstående nycklarna fortsätter att existera i databasen med sina uppdaterade livslängder. Detta bidrar till att optimera minnesanvändningen och automatisera borttagning av föråldrad data.
Ange nyckelns utgångstid
Det går att ange utgångstid för en nyckel på flera sätt. Till exempel kan du definiera en nyckel och specificera att den ska finnas i en timme:
SET my_key "session:31003"
EXPIRE my_key 3600
Här kommer nyckeln my_key att automatiskt tas bort efter 3600 sekunder (1 timme).
Alternativt kan du kombinera att sätta ett värde och definiera TTL i ett enda kommando. Till exempel, för att ange TTL i sekunder eller millisekunder:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
I det första fallet kommer nyckeln att förfalla om 3600 sekunder, och i det andra fallet kommer den att förfalla om 60000 millisekunder (1 minut).
Kontrollera återstående TTL
För att kontrollera hur mycket tid som återstår innan en nyckel förfaller kan du använda kommandot TTL:
TTL my_key
Om nyckeln finns och har en TTL, returnerar kommandot återstående tid i sekunder. Om resultatet till exempel är 120, kommer nyckeln att upphöra att gälla om 2 minuter. Om nyckeln inte har någon utgångstid blir resultatet -1, och om nyckeln inte existerar blir resultatet -2.
För mer exakt kontroll kan du använda millisekunder:
PTTL my_key
Till exempel, om resultatet är 45000, betyder det att nyckeln kommer att upphöra att gälla om 45 sekunder.
Ta bort nyckelns utgångstid
Om en nyckel inte längre ska gå ut automatiskt, kan du ta bort dess TTL:
PERSIST my_key
Efter detta kommando kommer nyckeln my_key att bli permanent och inte tas bort automatiskt.
Praktiska tillämpningar
Hantering av nyckelutgång har ett brett spektrum av användningsområden. Till exempel, vid cachning tas utgångna poster automatiskt bort, vilket frigör minne. För sessionshantering säkerställer det att inaktiva sessioner avslutas, vilket förbättrar både systemsäkerhet och prestanda.
1. Vad är syftet med att hantera TTL för nycklar i Redis?
2. Vad händer när du kör kommandot PERSIST på en nyckel?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Hantering av Nyckelutgång
Svep för att visa menyn
TTL anger tidsperioden som en nyckel förblir tillgänglig i databasen. När denna tid löper ut tas nyckeln automatiskt bort.
Som visas i exemplet tas nycklar med utgången TTL bort, medan de återstående nycklarna fortsätter att existera i databasen med sina uppdaterade livslängder. Detta bidrar till att optimera minnesanvändningen och automatisera borttagning av föråldrad data.
Ange nyckelns utgångstid
Det går att ange utgångstid för en nyckel på flera sätt. Till exempel kan du definiera en nyckel och specificera att den ska finnas i en timme:
SET my_key "session:31003"
EXPIRE my_key 3600
Här kommer nyckeln my_key att automatiskt tas bort efter 3600 sekunder (1 timme).
Alternativt kan du kombinera att sätta ett värde och definiera TTL i ett enda kommando. Till exempel, för att ange TTL i sekunder eller millisekunder:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
I det första fallet kommer nyckeln att förfalla om 3600 sekunder, och i det andra fallet kommer den att förfalla om 60000 millisekunder (1 minut).
Kontrollera återstående TTL
För att kontrollera hur mycket tid som återstår innan en nyckel förfaller kan du använda kommandot TTL:
TTL my_key
Om nyckeln finns och har en TTL, returnerar kommandot återstående tid i sekunder. Om resultatet till exempel är 120, kommer nyckeln att upphöra att gälla om 2 minuter. Om nyckeln inte har någon utgångstid blir resultatet -1, och om nyckeln inte existerar blir resultatet -2.
För mer exakt kontroll kan du använda millisekunder:
PTTL my_key
Till exempel, om resultatet är 45000, betyder det att nyckeln kommer att upphöra att gälla om 45 sekunder.
Ta bort nyckelns utgångstid
Om en nyckel inte längre ska gå ut automatiskt, kan du ta bort dess TTL:
PERSIST my_key
Efter detta kommando kommer nyckeln my_key att bli permanent och inte tas bort automatiskt.
Praktiska tillämpningar
Hantering av nyckelutgång har ett brett spektrum av användningsområden. Till exempel, vid cachning tas utgångna poster automatiskt bort, vilket frigör minne. För sessionshantering säkerställer det att inaktiva sessioner avslutas, vilket förbättrar både systemsäkerhet och prestanda.
1. Vad är syftet med att hantera TTL för nycklar i Redis?
2. Vad händer när du kör kommandot PERSIST på en nyckel?
Tack för dina kommentarer!