Alle Ihre Fragen werden beim EVAL
beantwortet Seite, aber da du gefragt hast...:
Was ist der Unterschied?
KEYS
wird verwendet, um Schlüsselnamen zu übergeben, während ARGS
sollte für alles andere sein. Dies wird nicht unbedingt erzwungen (d.h. meistens wäre es in Ordnung, sie zu mischen), könnte aber zu potenziellen Problemen führen, wenn es nicht befolgt wird.
Wie behandelt Redis Werte im KEYS-Array?
Der Inhalt von KEYS
werden überprüft, um sicherzustellen, dass alle Schlüssel für den Redis-Shard verfügbar sind, der das Skript ausführt. Dieser Mechanismus ist vorhanden, um das Ausführen von Skripts in einer Redis-Cluster-Bereitstellung zu ermöglichen.
Was ist, wenn ich in meinem Skript zur Laufzeit dynamisch generierte Schlüssel verwenden muss?
Siehe vorherige Antworten - das ist machbar, aber Sie würden gegen die Empfehlungen verstoßen. Ihr Skript kann sicher nur auf einer eigenständigen Redis-Instanz ausgeführt werden, und da dieses Verhalten nicht angegeben ist, kann es in zukünftigen Versionen brechen.