Heim  >  Artikel  >  Datenbank  >  Wo wird die Gültigkeitsdauer von Redis festgelegt?

Wo wird die Gültigkeitsdauer von Redis festgelegt?

(*-*)浩
(*-*)浩Original
2019-11-30 10:18:467261Durchsuche

Dieser Artikel gibt einen kurzen Überblick über den Ablaufverarbeitungsmechanismus von Redis, um jedem ein grundlegendes Verständnis zu vermitteln.

Wo wird die Gültigkeitsdauer von Redis festgelegt?

Es gibt eine Funktion zum Festlegen des Zeitablaufs in Redis, das heißt, Sie können eine Ablaufzeit für die in der Redis-Datenbank gespeicherten Werte festlegen. Als Caching-Datenbank ist dies sehr praktisch.

Zum Beispiel sind Token oder einige Anmeldeinformationen in unseren allgemeinen Projekten, insbesondere SMS-Bestätigungscodes, zeitlich begrenzt. Gemäß der herkömmlichen Datenbankverarbeitungsmethode können Sie den Ablauf im Allgemeinen selbst beurteilen, was zweifellos schwerwiegende Auswirkungen hat die Leistung. (Empfohlenes Lernen: Redis-Video-Tutorial)

1. Gültige Zeiteinstellung:

Ablaufverarbeitung gespeicherter Werte durch Redis Eigentlich Es wird für den Schlüssel des Werts verarbeitet, das heißt, die Einstellung der Zeit ist auch die effektive Zeit der Schlüsseleinstellung. Das Expires-Wörterbuch speichert die Ablaufzeit aller Schlüssel. Expires wird auch als Ablauffeld bezeichnet.

Vier Verarbeitungsstrategien

EXPIRE Setzt die Überlebenszeit des Schlüssels auf TTL-Sekunden

PEXPIRE Setzt die Generierungszeit des Schlüssels auf TTL-Millisekunden

EXPIREAT Setzt die Ablaufzeit des Schlüssels auf den durch timestamp dargestellten Zeitstempel in Sekunden

PEXPIREAT Legt die Ablaufzeit des Schlüssels auf den durch timestamp dargestellten Zeitstempel in Millisekunden fest

In der Tat Die oben genannten Verarbeitungsmethoden basieren alle auf PEXPIREAT. Beim Festlegen der Überlebenszeit berechnet Redis intern die Zeit und verarbeitet sie im Speicher. Die endgültige Verarbeitung erfolgt.

Die beiden Methoden 1 und 2 bestehen darin, eine Ablaufzeit festzulegen, was die am häufigsten verwendete Strategie für die Verarbeitung von Bestätigungscodes ist. Stellen Sie sie so ein, dass sie nach drei Minuten oder fünf Minuten abläuft, und konvertieren Sie die Minuten in Sekunden Millisekunden und speichern Sie sie in Redis Middle.

Die beiden Methoden 3 und 4 dienen dazu, eine Ablaufzeit festzulegen. Beispielsweise ist die Ablaufzeit eines Coupons ein bestimmter Tag eines bestimmten Jahres, eines bestimmten Monats, aber die Einheiten sind unterschiedlich.

2. Ablaufverarbeitung

Die Verarbeitung abgelaufener Schlüssel besteht darin, die abgelaufenen Schlüssel zu löschen. Der Vorgang hier dient hauptsächlich der Verarbeitung abgelaufener Felder.

In Redis gibt es drei Verarbeitungsstrategien: geplantes Löschen, verzögertes Löschen und periodisches Löschen.

Geplantes Löschen: Erstellen Sie beim Festlegen der Ablaufzeit des Schlüssels einen Timer und führen Sie den Löschvorgang sofort aus, wenn die Ablaufzeit abgelaufen ist. Diese Verarbeitungsmethode erfolgt jedoch sofort, unabhängig davon, wie viele Schlüssel innerhalb dieser Zeit abgelaufen sind, unabhängig vom aktuellen Betriebsstatus des Servers, und ist daher nicht sehr CPU-schonend.

Verzögertes Löschen: Die Strategie zum verzögerten Löschen löscht den Schlüssel nicht sofort, wenn er abläuft, sondern löscht ihn aktiv, wenn ein externer Befehl den Schlüssel erhält. Der Verarbeitungsprozess besteht darin, die Ausführung zu erhalten, festzustellen, ob sie abgelaufen ist (hier anhand des Ablaufs beurteilt), den Löschvorgang auszuführen und Null (leer) zurückzugeben.

Periodisches Löschen: Beim periodischen Löschen wird in jedem Zeitraum erkannt, ob ein Schlüssel abgelaufen ist, und wenn ja, wird ein Löschvorgang durchgeführt. Dieses Konzept sollte leicht verständlich sein.

Weitere technische Artikel zum Thema Redis finden Sie in der Spalte Redis Getting Started Tutorial.

Das obige ist der detaillierte Inhalt vonWo wird die Gültigkeitsdauer von Redis festgelegt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn