So verwenden Sie das Redis-Protokoll für langsame Abfragen
Slow Query Log
Was ist SLOW LOG?
Slow Log ist ein Protokollierungssystem, das von Redis verwendet wird, um Befehlsanfragen aufzuzeichnen, deren Abfrageausführungszeit eine bestimmte Zeit überschreitet. Die Abfrageausführungszeit bezieht sich auf die Zeit, die für die Ausführung eines Abfragebefehls aufgewendet wird, ausgenommen E/A-Vorgänge wie Client-Antworten (Sprechen) und Senden von Antworten. Darüber hinaus wird das langsame Protokoll im Speicher gespeichert und die Lese- und Schreibgeschwindigkeit ist sehr hoch, sodass Sie es bedenkenlos verwenden können und sich keine Sorgen machen müssen, dass die Geschwindigkeit von Redis durch das Einschalten des langsamen Protokolls beeinträchtigt wird.

Einrichten und Anzeigen von SLOWLOG
Die Serverkonfiguration verfügt über zwei Optionen im Zusammenhang mit langsamen Abfrageprotokollen:
slowlog-log-slower-than: Die Option gibt an, wie viele Mikrosekunden die Ausführungszeit überschreitet (1 Sekunde entspricht). 1.000.000 Mikrosekunden) Befehlsanfragen werden im Protokoll aufgezeichnet. Wenn der Wert dieser Option beispielsweise 100 ist, werden Befehle, deren Ausführung mehr als 100 Mikrosekunden dauert, im langsamen Abfrageprotokoll aufgezeichnet. Wenn der Wert dieser Option 500 ist, werden Befehle aufgezeichnet, deren Ausführung mehr als 500 Mikrosekunden dauert wird im Protokoll für langsame Abfragen protokolliert.
Die Option slowlog-max-len wird verwendet, um die maximale Anzahl langsamer Abfrageprotokolle zu bestimmen, die vom Server gespeichert werden. Der Server verwendet eine First-In-First-Out-Methode, um mehrere langsame Abfrageprotokolle zu speichern: Wenn die Anzahl der vom Server gespeicherten langsamen Abfrageprotokolle dem Wert der Option slowlog-max-len entspricht, fügt der Server zuerst die Protokolle hinzu Das älteste Protokoll für langsame Abfragen wird gelöscht, bevor ein neues Protokoll für langsame Abfragen hinzugefügt wird. Wenn beispielsweise der Wert von slowlog-max-len des Servers 100 beträgt und davon ausgegangen wird, dass der Server 100 langsame Abfrageprotokolle gespeichert hat, muss der Server, wenn er beabsichtigt, ein neues Protokoll hinzuzufügen, zuerst das älteste derzeit gespeicherte Protokoll löschen . Protokolle und fügen Sie dann neue Protokolle hinzu.
Sehen wir uns ein Beispiel für die Slow-Query-Log-Funktion an. Verwenden Sie zunächst den Befehl CONFIG_SET, um den Wert der Option slowlog-log-slower-than auf 0 Mikrosekunden zu setzen, sodass jeder vom Redis-Server ausgeführte Befehl aufgezeichnet wird Setzen Sie dann im langsamen Abfrageprotokoll den Wert der Option slowlog-max-len auf 5, sodass der Server nur bis zu 5 langsame Abfrageprotokolle speichern kann:
redis> CONFIG SET slowlog-log-slower-than 0 OK redis> CONFIG SET slowlog-max-len 5 OK
Dann verwenden wir den Client, um mehrere Befehlsanfragen zu senden :
redis> SET msg "hello world"OK redis> SET number 10086 OK redis> SET database "Redis"OK
Verwenden Sie dann den Befehl SLOWLOG GET, um das vom Server gespeicherte Slow-Query-Protokoll anzuzeigen:
redis> SLOWLOG GET 1) 1) (integer) 4 #日志的唯一标识符(uid); 2) (integer) 1378781447 #命令执行时的UNIX时间戳; 3) (integer) 13 #命令执行的时长,以微秒计算; 4) 1) "SET" #命令以及命令参数; 2) "database" 3) "Redis"2) 1) (integer) 3 2) (integer) 1378781439 3) (integer) 10 4) 1) "SET" 2) "number" 3) "10086"3) 1) (integer) 2 2) (integer) 1378781436 3) (integer) 18 4) 1) "SET" 2) "msg" 3) "hello world"4) 1) (integer) 1 2) (integer) 1378781425 3) (integer) 11 4) 1) "CONFIG" 2) "SET" 3) "slowlog-max-len" 4) "5"5) 1) (integer) 0 2) (integer) 1378781415 3) (integer) 53 4) 1) "CONFIG" 2) "SET" 3) "slowlog-log-slower-than" 4) "0"
Wenn zu diesem Zeitpunkt ein weiterer SLOWLOG GET 1-Befehl ausgeführt wird, sehen wir, dass der zuletzt ausgeführte SLOWLOG GET-Befehl aufgezeichnet wurde Das langsame Abfrageprotokoll und die älteste Nummer Das langsame Abfrageprotokoll mit dem Wert 0 wurde gelöscht und die Anzahl der langsamen Abfrageprotokolle auf dem Server beträgt immer noch 5:
redis> SLOWLOG GET 1 1) 1) (integer) 5 2) (integer) 1378781521 3) (integer) 61 4) 1) "SLOWLOG" 2) "GET"
Die eindeutige ID des Protokolls wird nur zurückgesetzt wenn der Redis-Server neu gestartet wird, wodurch eine wiederholte Verarbeitung von Protokollen vermieden werden kann (z. B. Sie möchten möglicherweise eine E-Mail senden, um Sie jedes Mal zu benachrichtigen, wenn eine neue langsame Abfrage entdeckt wird).
Verwenden Sie den Befehl SLOWLOG LEN, um die aktuelle Anzahl der Protokolle anzuzeigen.
Bitte beachten Sie den Unterschied zwischen diesem Wert und slower-max-len. Einer ist die aktuelle Anzahl von Protokollen und der andere ist die maximale Anzahl von Protokollen, die aufgezeichnet werden dürfen.
redis> SLOWLOG LEN (integer) 5
Löschen Sie das Protokoll
Verwenden Sie den Befehl SLOWLOG RESET, um das langsame Protokoll zu löschen.
redis> SLOWLOG RESET OK
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Redis-Protokoll für langsame Abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

Redis verwendet Hash -Tabellen, um Daten zu speichern und unterstützt Datenstrukturen wie Zeichenfolgen, Listen, Hash -Tabellen, Sammlungen und geordnete Sammlungen. Ernähren sich weiterhin über Daten über Snapshots (RDB) und appendiert Mechanismen nur Schreibmechanismen. Redis verwendet die Master-Slave-Replikation, um die Datenverfügbarkeit zu verbessern. Redis verwendet eine Ereignisschleife mit einer Thread, um Verbindungen und Befehle zu verarbeiten, um die Datenatomizität und Konsistenz zu gewährleisten. Redis legt die Ablaufzeit für den Schlüssel fest und verwendet den faulen Löschmechanismus, um den Ablaufschlüssel zu löschen.

Schritte zur Lösung des Problems, das Redis-Server nicht finden kann: Überprüfen Sie die Installation, um sicherzustellen, dass Redis korrekt installiert ist. Setzen Sie die Umgebungsvariablen Redis_host und Redis_port; Starten Sie den Redis-Server Redis-Server; Überprüfen Sie, ob der Server Redis-Cli Ping ausführt.

Um alle Schlüssel in Redis anzuzeigen, gibt es drei Möglichkeiten: Verwenden Sie den Befehl keys, um alle Schlüssel zurückzugeben, die dem angegebenen Muster übereinstimmen. Verwenden Sie den Befehl scan, um über die Schlüssel zu iterieren und eine Reihe von Schlüssel zurückzugeben. Verwenden Sie den Befehl Info, um die Gesamtzahl der Schlüssel zu erhalten.

Um die Redis -Versionsnummer anzuzeigen, können Sie die folgenden drei Methoden verwenden: (1) Geben Sie den Info -Befehl ein, (2) Starten Sie den Server mit der Option --version und (3) die Konfigurationsdatei anzeigen.

Der beste Weg, um Redis -Quellcode zu verstehen, besteht darin, Schritt für Schritt zu gehen: Machen Sie sich mit den Grundlagen von Redis vertraut. Wählen Sie ein bestimmtes Modul oder eine bestimmte Funktion als Ausgangspunkt. Beginnen Sie mit dem Einstiegspunkt des Moduls oder der Funktion und sehen Sie sich die Codezeile nach Zeile an. Zeigen Sie den Code über die Funktionsaufrufkette an. Kennen Sie die von Redis verwendeten Datenstrukturen. Identifizieren Sie den von Redis verwendeten Algorithmus.

Die Verwendung der REDIS -Anweisung erfordert die folgenden Schritte: Öffnen Sie den Redis -Client. Geben Sie den Befehl ein (Verbschlüsselwert). Bietet die erforderlichen Parameter (variiert von der Anweisung bis zur Anweisung). Drücken Sie die Eingabetaste, um den Befehl auszuführen. Redis gibt eine Antwort zurück, die das Ergebnis der Operation anzeigt (normalerweise in Ordnung oder -err).

Um ein Redis -Kennwort festzulegen, ändern Sie die Anforderung in die Konfigurationsdatei in das erforderliche Kennwort und starten Sie den Dienst neu. Verwenden Sie bei der Verbindung zu einer passwortgeschützten Instanz den Befehl redis-cli und geben Sie den Hostnamen/IP, Port und Kennwort an. Achten Sie auf die Sicherheit Ihres Passworts und ändern Sie es regelmäßig, um die Sicherheit zu verbessern.
