Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Redis-Masseneinfügung

Ich würde sagen, Sie sind auf dem Weg der vorzeitigen Optimierung (was normalerweise nicht der beste ist).

Jede Skriptsprache mit einem Redis-Client, der Pipelining unterstützt, sollte in der Lage sein, mindestens 50.000 Befehle/s an den Redis-Server zu senden. Der Code ist unkompliziert, ohne dass das Redis-Protokoll manuell codiert werden muss. Zugegeben, der Massive-Insert-Trick ist schneller, aber braucht man ihn wirklich?

Wenn Sie sich jetzt immer noch an die massive Einfügung halten möchten, müssen Sie einen geeigneten Redis-Befehl codieren. Das von Ihnen bereitgestellte Beispiel ist aus mehreren Gründen falsch:

  • die Anzahl der Argumente ist falsch (Ihr Beispiel sollte mit *3 beginnen)

  • die Länge des letzten Arguments ist falsch (1,2,34 Länge ist 6 Bytes, nicht 5).

  • Im SADD-Befehl benötigen Sie ein Argument pro Element des Satzes (d. h. für Redis 1,2,34 wird es ein einzelnes Element sein, nicht drei).

Der richtige Befehl wäre eher so:

"*5\r\n$4\r\nSADD\r\n$2\r\n80\r\n$1\r\n1\r\n$1\r\n2\r\n$2\r\n34\r\n"

Das Redis-Protokoll wird hier beschrieben:http://redis.io/topics/protocol