Database Reference
In-Depth Information
1
$2
99
Ctrl
-
]
Wir sehen, dass unsere Eingabe dem entspricht, was wir in der Console an-
gegeben haben, aber die Console hat die Antworten ein wenig aufgeräumt.
{
Redis liefert den Status
OK
zurück, dem ein Pluszeichen vorangeht.
|
Bevor es den String
hello
zurückgibt, sendet es
$5
, was bedeutet, dass
der nachfolgende String fünf Zeichen lang ist.
}
Nach dem Einfügen von zwei Werten in den Test-Schlüssel wird eine
2
zurückgegeben. Vor ihr steht
:
, was einen Integerwert repräsentiert (zwei
Werte wurden erfolgreich hinzugefügt).
~
Abschließend haben wir zwei Elemente abgerufen. Die erste zurückge-
lieferte Zeile beginnt mit einem Sternchen und der Zahl 2, was bedeu-
tet, dass zwei komplexe Werte zurückgeliefert werden. Die nächsten bei-
den Zeilen entsprechen der Rückgabe des
hello
-Beispiels, geben aber den
String
1
und dann den String
99
zurück.
Pipelining
Wir können unsere eigenen Strings auch einen nach dem anderen über den
BSD-Befehl BSD netcat (
nc
) streamen, der auf vielen Unix-Maschinen bereits
vorinstalliert ist. Bei netcat müssen wir eine Zeile explizit mit CRLF abschlie-
ßen (telnet hat das für uns automatisch erledigt). Nachdem der echo-Befehl
gesendet wurde, warten wir eine Sekunde, damit der Redis-Server Zeit hat,
uns eine Antwort zu liefern. Einige
nc
-Implementierungen kennen die Opti-
on
-q
, mit der man herausfinden kann, ob eine Pause notwendig ist. Aber
nicht alle Implementierungen unterstützen diese Option, also probieren Sie
es aus.
$
(echo -en "ECHO hello\r\n"; sleep 1) | nc localhost 6379
$
5
hello
Wir können diesen Grad der Kontrolle zu unserem Vorteil nutzen, indem wir
unsere Befehle durch eine
Pipeline
schicken oder mehrere Befehle in einem
einzigen Request senden.
$
(echo -en "PING\r\nPING\r\nPING\r\n"; sleep 1) | nc localhost 6379
+PONG
+PONG
+PONG