Protokolle und binäre Serialisierung

Redis RESP ParserBytes und Typen direkt prüfen

Fügen Sie maskierten RESP-Text oder Hex-Bytes ein und untersuchen Sie Frames ohne Redis-Verbindung.

Redis RESP Parser

RESP-Eingabe

Ergebnis

RESP eingeben oder ein Beispiel laden.

Lokal verarbeitet; keine Redis-Verbindung und kein Upload.

Optionen

RESP eingeben oder ein Beispiel laden.

Wenn ein Redis-Protokoll nur $5 und *3 zeigt, reicht die Ausgabe einer Clientbibliothek oft nicht zur Fehlersuche. Der Redis RESP Parser führt vom Typpräfix bis zum letzten Byte jedes Werts und zeigt, ob ein Frame wirklich vollständig ist.

Warum diesen Redis RESP Parser nutzen

Die Grenzen und Typen eines aufgezeichneten Byte-Stroms bleiben sichtbar.

Stream-Chunks einzeln prüfen

Der Redis RESP Parser vergleicht bei RESP3 jeden deklarierten Chunk mit den vorhandenen Bytes und prüft den Abschluss. Erst danach setzt er den Wert zusammen; fehlende Endmarken gelten nicht als fertige Daten.

Einzelne Byte-Chunks fließen in einen typisierten Wert, ihre Grenzen bleiben sichtbar

Typen im JSON erhalten

Binäre Bulk-Strings bleiben Hex, Maps bleiben geordnete Schlüssel-Wert-Paare, Attribute hängen am folgenden Wert. Ein gewöhnliches JSON-Objekt würde diese Unterschiede verbergen.

Binärwert, numerischer Map-Schlüssel und Attribut in getrennten JSON-Feldern

So finden Sie einen fehlerhaften Frame

01

Die richtige Eingabeform wählen

Im Standardmodus werden die Zeichenfolgen \r und \n zu CRLF-Bytes. Für beliebige Binärdaten verwenden Sie Hex; ein einzelnes LF wird nicht stillschweigend repariert.

  • Die Länge zählt UTF-8-Bytes und nicht sichtbare Zeichen.
02

Die Version gezielt einschränken

Auto akzeptiert gemeinsame RESP2/RESP3-Typen und erkennt neue RESP3-Präfixe. RESP2 als Vorgabe weist solche Typen zurück, beweist aber keine Aushandlung am Server.

  • Automatisch nach 350 ms oder manuell mit Strg/Cmd + Enter.
03

Byte-Bereiche vor dem Export vergleichen

Im Baum stehen Offset und deklarierte Länge. Bei einer Befehlsform zeigt die oberste String-Liste Namen und Argumente; die JSON-Ansicht bewahrt die Typinformationen.

  • Eine Änderung an Eingabe oder Optionen sperrt den Export bis zur erneuten Prüfung.

Vom Präfix bis zum letzten Byte

RESP2- und RESP3-Typbaum

Der Redis Protokoll Decoder trennt Null-Bulk von leerem Bulk, Arrays von Maps und eine Fehlerantwort von einem Parse-Fehler.

Exakte Längenprüfung

Deklarierte Länge, tatsächliche UTF-8-Bytes und abschließendes CRLF müssen passen. Der erste Fehler erhält Byte-Offset und Position im Editor.

Mehrere Frames und Befehlsform

Pipelining bleibt in der Reihenfolge der Frames sichtbar. Eine String-Liste kann wie ein Befehl aussehen, ohne dass die Ausführung simuliert wird.

Typisierte JSON-Abbildung

Redis Befehle dekodieren heißt hier nicht ausführen: Binärdaten bleiben Hex, große Zahlen Text und Maps geordnete Einträge.

Grenzen der Auswertung

Keine Redis-Verbindung
Der Parser untersucht nur eingefügte Wire-Bytes. Er sendet keinen Befehl, liest keine Schlüssel und verändert keinen Datenbestand.
Keine Aussage über HELLO
RESP2 und RESP3 teilen viele Kodierungen. Auto meldet nur die mindestens erforderliche Version, nicht die tatsächlich ausgehandelte Verbindung.
Binärdaten bleiben Binärdaten
Ungültiges UTF-8 wird als Hex erhalten. Maps mit nichttextuellen oder doppelten Schlüsseln werden nicht in normale JSON-Objekte gepresst.
Nur vollständige Daten im Limit
Der Redis RESP Parser verlangt korrektes CRLF und Byte-Längen. Er verarbeitet höchstens 1 MiB, 1000 Frames, 10000 Knoten und 64 Ebenen; fehlende Stream-Teile sind Fehler.

Häufige Fragen zum Redis RESP Parser

Wie lässt sich ein Redis-Befehl als RESP prüfen?

Fügen Sie maskierten Wire-Text oder Hex-Bytes ein. Ein oberstes Array aus Strings zeigt Befehlsnamen und Argumentzahl, prüft aber keine serverseitige Befehlssemantik.

Wie ist das Redis RESP Format eines Bulk-Strings aufgebaut?

Nach $ folgen die Byte-Länge, CRLF, genau diese Anzahl Datenbytes und nochmals CRLF. Ein UTF-8-Zeichen kann mehrere Bytes beanspruchen.

Was unterscheidet RESP2 und RESP3?

RESP3 ergänzt unter anderem Boolean, Map, Set, Attribute und Push. Sind nur gemeinsame Typen vorhanden, lässt sich die echte Verbindungsvariante nicht erkennen.

Kann ich die Antwort einer Redis-Instanz direkt abrufen?

Nein. Dieses Werkzeug baut keine Verbindung auf und benötigt keinen Host oder Port. Es liest nur bereits aufgezeichnete Frames.

Warum sind $-1 und $0 verschieden?

$-1 bedeutet Null-Bulk. $0 mit den folgenden CRLF-Bytes ist ein leerer Bulk-String; beide erscheinen als eigene Typen im Baum und JSON.

Eine Frage ist offen?

Aufzeichnungen mit dem Redis RESP Parser prüfen

Prüfen Sie das erste fehlerhafte Byte, bevor Sie Client oder Server ändern. Der Redis RESP Parser gibt typisiertes JSON erst nach einem vollständigen Durchlauf frei.

Die Verarbeitung bleibt in Ihrem Browser.