Beheer van Sleutelverval
TTL specificeert de duur dat een sleutel beschikbaar blijft in de database. Zodra deze tijd is verstreken, wordt de sleutel automatisch verwijderd.
Zoals getoond in het voorbeeld worden sleutels met een verlopen TTL verwijderd, terwijl de overgebleven sleutels in de database blijven bestaan met hun aangepaste levensduur. Dit helpt bij het optimaliseren van het geheugengebruik en het automatiseren van de verwijdering van verouderde gegevens.
Sleutelverval instellen
De vervaltijd voor een sleutel kan op verschillende manieren worden ingesteld. Bijvoorbeeld, een sleutel kan worden gedefinieerd met de specificatie dat deze één uur zal bestaan:
SET my_key "session:31003"
EXPIRE my_key 3600
Hier wordt de sleutel my_key automatisch verwijderd na 3600 seconden (1 uur).
Als alternatief kan het instellen van een waarde en het definiëren van de TTL in één enkele opdracht worden gecombineerd. Bijvoorbeeld, om de TTL in seconden of milliseconden in te stellen:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
In het eerste geval verloopt de sleutel na 3600 seconden, en in het tweede geval verloopt deze na 60000 milliseconden (1 minuut).
Controleren van de resterende TTL
Om te controleren hoeveel tijd er nog over is voordat een sleutel verloopt, kan de TTL-opdracht worden gebruikt:
TTL my_key
Als de sleutel bestaat en een TTL heeft, geeft het commando de resterende tijd in seconden terug. Bijvoorbeeld, als het resultaat 120 is, verloopt de sleutel over 2 minuten. Als de sleutel geen vervaldatum heeft, is het resultaat -1, en als de sleutel niet bestaat, is het resultaat -2.
Voor meer nauwkeurige controle kun je milliseconden gebruiken:
PTTL my_key
Bijvoorbeeld, als het resultaat 45000 is, betekent dit dat de sleutel over 45 seconden verloopt.
Verwijderen van sleutelverval
Indien een sleutel niet langer automatisch mag verlopen, kan de TTL worden verwijderd:
PERSIST my_key
Na deze opdracht wordt de sleutel my_key permanent en zal deze niet meer automatisch worden verwijderd.
Praktische Toepassingen
Beheer van sleutelverval kent een breed scala aan toepassingen. Bijvoorbeeld, bij caching worden verlopen records automatisch verwijderd, waardoor geheugen vrijkomt. Voor sessiebeheer zorgt het ervoor dat inactieve sessies worden beëindigd, wat zowel de systeembeveiliging als de prestaties verbetert.
1. Wat is het doel van het beheren van TTL voor sleutels in Redis?
2. Wat gebeurt er wanneer je het PERSIST-commando op een sleutel uitvoert?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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?
Geweldig!
Completion tarief verbeterd naar 3.33
Beheer van Sleutelverval
Veeg om het menu te tonen
TTL specificeert de duur dat een sleutel beschikbaar blijft in de database. Zodra deze tijd is verstreken, wordt de sleutel automatisch verwijderd.
Zoals getoond in het voorbeeld worden sleutels met een verlopen TTL verwijderd, terwijl de overgebleven sleutels in de database blijven bestaan met hun aangepaste levensduur. Dit helpt bij het optimaliseren van het geheugengebruik en het automatiseren van de verwijdering van verouderde gegevens.
Sleutelverval instellen
De vervaltijd voor een sleutel kan op verschillende manieren worden ingesteld. Bijvoorbeeld, een sleutel kan worden gedefinieerd met de specificatie dat deze één uur zal bestaan:
SET my_key "session:31003"
EXPIRE my_key 3600
Hier wordt de sleutel my_key automatisch verwijderd na 3600 seconden (1 uur).
Als alternatief kan het instellen van een waarde en het definiëren van de TTL in één enkele opdracht worden gecombineerd. Bijvoorbeeld, om de TTL in seconden of milliseconden in te stellen:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
In het eerste geval verloopt de sleutel na 3600 seconden, en in het tweede geval verloopt deze na 60000 milliseconden (1 minuut).
Controleren van de resterende TTL
Om te controleren hoeveel tijd er nog over is voordat een sleutel verloopt, kan de TTL-opdracht worden gebruikt:
TTL my_key
Als de sleutel bestaat en een TTL heeft, geeft het commando de resterende tijd in seconden terug. Bijvoorbeeld, als het resultaat 120 is, verloopt de sleutel over 2 minuten. Als de sleutel geen vervaldatum heeft, is het resultaat -1, en als de sleutel niet bestaat, is het resultaat -2.
Voor meer nauwkeurige controle kun je milliseconden gebruiken:
PTTL my_key
Bijvoorbeeld, als het resultaat 45000 is, betekent dit dat de sleutel over 45 seconden verloopt.
Verwijderen van sleutelverval
Indien een sleutel niet langer automatisch mag verlopen, kan de TTL worden verwijderd:
PERSIST my_key
Na deze opdracht wordt de sleutel my_key permanent en zal deze niet meer automatisch worden verwijderd.
Praktische Toepassingen
Beheer van sleutelverval kent een breed scala aan toepassingen. Bijvoorbeeld, bij caching worden verlopen records automatisch verwijderd, waardoor geheugen vrijkomt. Voor sessiebeheer zorgt het ervoor dat inactieve sessies worden beëindigd, wat zowel de systeembeveiliging als de prestaties verbetert.
1. Wat is het doel van het beheren van TTL voor sleutels in Redis?
2. Wat gebeurt er wanneer je het PERSIST-commando op een sleutel uitvoert?
Bedankt voor je feedback!