2015-08-19 7 views

Antwort

11

Alle Ihre Fragen werden an der EVAL Seite beantwortet, aber da Sie ... gefragt:

Was ist ein Unterschied?

KEYS wird verwendet, Schlüsselnamen zu übergeben, während ARGS für irgendetwas anderes sein sollte. Dies wird nicht genau erzwungen (d. H. Die meisten Male würden Sie in Ordnung sein, sie zu mischen), aber könnte zu möglichen Problemen führen, wenn nicht gefolgt wird.

Wie behandelt Redis Werte in KEYS-Array?

Der Inhalt KEYS werden geprüft, um sicherzustellen, dass alle Schlüssel der Redis Scherbe zur Verfügung stehen, die das Skript ausgeführt wird. Dieser Mechanismus ermöglicht das Ausführen von Skripts in einer Redis-Clusterbereitstellung.

Was ist, wenn ich in meinem Skript zur Laufzeit dynamisch erzeugte Schlüssel verwenden muss?

Siehe vorherige Antworten - das ist machbar, aber Sie würden gegen die Empfehlungen gehen. Ihr Skript kann nur auf einer eigenständigen Redis-Instanz ausgeführt werden. Da dieses Verhalten nicht angegeben ist, kann es in zukünftigen Versionen möglicherweise nicht mehr funktionieren.

+0

Haben Sie eine Idee, wie man Multitasten behandelt, die im SORT-Befehl wie 'SORT mySet BY myHash: * -> bestellen GET myHash: * -> name' verwendet werden? Kann ich 'myHash: *' oder so etwas weitergeben? – Schovi

+0

@Schovi, die nicht mit dieser Frage und Antwort in Verbindung zu stehen scheint - bitte überprüfen Sie die vorhandenen Fragen zu Stack Overflow oder schreiben Sie eine neue –

+0

Könnten Sie bitte mehr über "KEYS erklären, dass alle Schlüssel verfügbar sind das Redis-Shard, das das Skript in einem Redis-Cluster ausführt "ODER stellen Sie uns einen Link zur Verfügung, was passiert, wenn wir ARGV-Werte selbst als Schlüssel verwenden? Und was ist der Nachteil der dynamischen Erstellung von Schlüsseln während der Cluster-Umgebung? Ich mache mir mehr Sorgen wegen der Aussage "es könnte in zukünftigen Veröffentlichungen brechen". Bitte helfen Sie. –

Verwandte Themen