Dieser Artikel stellt Ihnen den langsamen Abfrage- und Abonnementmodus in Redis vor. Ich hoffe, dass er für alle hilfreich ist!
Langsame Abfrage
Das Protokoll der langsamen Abfrage ist die Ausführungszeit jedes Befehls, wenn das System den Befehl ausführt, wird der Befehl aufgezeichnet. [Verwandte Empfehlungen: Redis-Video-Tutorial]
Redis-Befehlsausführungsprozess
Befehl senden
Befehlswarteschlange
Befehlsausführung
Ergebnisse zurückgeben
Unter Die Befehlsausführung ist die Zeit für langsame Abfragestatistiken.
Langsame Abfrage zweier Konfigurationsparameter Wenn die Ausführungszeit den Schwellenwert überschreitet, wird sie aufgezeichnet. Der Übertragungs- und Veröffentlichungs- und Abonnementmechanismus von Redis kann für Nachrichten verwendet werden und besteht aus drei Teilen: Herausgeber, Abonnent und Kanal.
-
Funktion zum Veröffentlichen und Abonnieren Abonnieren Sie mehrere Kanäle unter Gleichzeitig wird mit dem Befehl PSUBSCRIBE
Redis-Ablaufzeitverarbeitung ausgeführt Die Ablaufzeit ist abgelaufen. Der Vorgang wird sofort ausgeführt, unabhängig davon, wie viele Schlüssel in diesem Zeitraum abgelaufen sind oder wie hoch der Betriebsstatus des Servers ist. Dies ist nicht sehr schonend für die CPU. Beim regelmäßigen Löschen wird ein Zeitintervall festgelegt, bei dem festgestellt wird, ob abgelaufene Schlüssel vorhanden sind.
Passive Verarbeitung. Es wird beurteilt, ob der Schlüssel abgelaufen ist, er wird gelöscht und NIL zurückgegeben. Diese Verarbeitungsmethode ist CPU-freundlich und belegt die CPU nicht für andere abgelaufene Schlüssel Der Speicher ist abgelaufen, wird jedoch nicht gelöscht, bevor er betätigt wird, und belegt weiterhin Speicherplatz. Wenn eine große Anzahl abgelaufener Schlüssel vorhanden ist, die nicht erneut betätigt werden verschwendet werden.
3. RDB- und AOF-Verarbeitung abgelaufener Schlüssel
Wenn Sie den Befehl save oder bgsave ausführen, um eine RDB zu erstellen, überprüft das Programm die Schlüssel in der Datenbank und die abgelaufenen Schlüssel werden nicht in der neu erstellten RDB-Datei gespeichert . Mitte.
Wenn der abgelaufene Schlüssel langsam oder regelmäßig gelöscht wird, hängt das Programm einen DEL-Befehl an die AOF-Datei an, um explizit zu protokollieren, dass der Schlüssel gelöscht wurde.
- Während der AOF-Umschreibung überprüft das Programm die Schlüssel in der Datenbank und abgelaufene Schlüssel werden nicht in der umgeschriebenen AOF-Datei gespeichert.
Speicherrecycling
noeviction: Die Standardrichtlinie löscht keine Daten, lehnt alle Schreibvorgänge ab und gibt Client-Fehlermeldungen zurück. Derzeit reagiert Redis nur auf Lesevorgänge. - volatitle-rlu: Schlüssel mit gemäß dem LRU-Algorithmus festgelegten Timeout-Attributen löschen, bis genügend Platz geschaffen ist. Wenn keine löschbaren Schlüsselobjekte vorhanden sind, greifen Sie auf die Noeviction-Strategie zurück.
allkeys-lru: Schlüssel gemäß dem LRU-Algorithmus löschen, unabhängig davon, ob für die Daten ein Timeout-Attribut festgelegt ist, bis genügend Speicherplatz freigegeben ist.
allkeys-random: Alle Schlüssel nach dem Zufallsprinzip löschen, bis genügend Platz geschaffen ist.
- volatitle-random: Abgelaufene Schlüssel nach dem Zufallsprinzip löschen, bis genügend Platz geschaffen ist.
volatitle-ttl: Löschen Sie die kürzlich abgelaufenen Daten basierend auf dem ttl-Attribut des Schlüsselwertobjekts. Wenn nicht, greifen Sie auf die Noeviction-Strategie zurück
Weitere Kenntnisse zum Programmieren finden Sie unter:
Einführung in die Programmierung
! !
Das obige ist der detaillierte Inhalt vonWas ist der langsame Abfrage- und Abonnementmodus in Redis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!