redis.lpush eine Anzahl von Elementen,
In meinem node.js
script ich habe ein array von strings ist, und ich möchte LPUSH
diese strings in eine Redis queue. Ich habe versucht:
var redis = require('redis').createClient();
redis.lpush('queue', ['1', '2', '3'])
die Ergebnisse in eine einzelne Zeichenfolge geschoben:
redis 127.0.0.1:6379> lrange queue 0 -1
1) "1,2,3"
Redis unterstützt mehrere Werte in LPUSH
Befehl, ich bin auf der Suche nach Hilfe auf die Verwendung dieser Funktionalität. Ich bin nicht zu Fragen, wie eine Schleife über mein array und drücken Sie jedes Element separat. 🙂
EDIT:
Ich weiß, wenn ich dies tun:
redis.lpush('queue', '1', '2', '3')
Ich das bekomme, was ich erwarte, aber in meiner realen Anwendung des array wird zur Laufzeit generiert, und ich weiß nicht über den Inhalt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies scheint ein bekanntes Problem/Allgemeine Anfrage
Einen der vorgeschlagenen workarounds zu verwenden send_command direkt
Könnte man auch probieren (habe nicht versucht, diese selbst):
send_command
undapply
Arbeit, außer fürunshift
gibt die neue Länge, also musste ich es als eine separate Anweisung.Dies ist nun möglich mit es6 verbreiten syntax. Ein array beliebiger Größe ausgebreitet werden wird, als die Argumente der Funktion.