Beim Aufruf von Lua-Skript von Redis ist es möglich, Werte in zwei Arrays zu übergeben: KEYS und ARGV. Was ist ein Unterschied? Wie behandelt Redis Werte im KEYS-Array? Was ist, wenn ich in meinem Skript zur Laufzeit dynamisch erzeugte Schlüssel verwenden muss?Warum gibt es KEYS und ARGV-Arrays beim Aufruf von Redis Lua-Skripten?
Antwort
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.
- 1. Gibt es eine Zeichenbeschränkung in Dictionary Keys?
- 2. Redis LRU sowie Keys ablaufen individuell?
- 3. Redis gibt beim Speichern einen Fehler aus
- 4. Warum gibt es "ï» ¿"beim Dateivergleich
- 5. Gibt es irgendwelche Redis pub \ sub Benchmarks?
- 6. Warum gibt UIManager.getDefaults(). KeySet() andere Werte zurück als UIManager.getDefaults(). Keys()?
- 7. Warum gibt es doppelte Dateien beim Extrahieren von tar.gz Archiv
- 8. Gibt es einen Unterschied zwischen :: und? beim Aufruf von Klassenmethoden in Ruby?
- 9. Warum gibt es keinen E_NOTICE Fehler beim ersten Anruf?
- 10. redis-cli löschen keys pattern nicht löschen datensätze
- 11. Warum gibt es 2 Stack-Frames für einen Lambda-Aufruf?
- 12. Redis Client GetAll Keys aus einer bestimmten Klasse
- 13. Speicherfehler beim Aufruf von
- 14. Gibt es technische Gefahren beim Mischen von fstream und stdio?
- 15. redis Schlüssel nach redis Server-Shutdown und Neustart nicht verfügbar
- 16. Warum gibt es kein List.skip und List.take?
- 17. php: Zuweisen von Array Keys beim Erstellen von Multilevel-Array
- 18. HttpURLConnection.getResponseCode() gibt -1 beim zweiten Aufruf zurück
- 19. Fehler beim Aufruf von $ .post() und $ post
- 20. BCNF Zerlegung und Keys
- 21. warum auf Math.max anwenden Aufruf funktioniert und ohne es doens't
- 22. Redis: Warum ersetzt Lua Scripting die Transaktionen?
- 23. Warum gibt es Haupt- und Titel?
- 24. Warum funktionieren Keys und Vals nicht an Vektoren?
- 25. Warum funktioniert isNaN nicht beim zweiten Aufruf?
- 26. onActivityResult gibt immer 0 (RESULT_CANCELED) beim Aufruf von Einstellungen
- 27. Warum wird beim Aufruf von exec() ein Syntaxfehler angezeigt?
- 28. Warum ist es beim Kombinieren von @Component und Bean fehlgeschlagen?
- 29. Warum gibt es ein unterschiedliches Verhalten von getpwuid und getgrgid?
- 30. Haskell: Warum gibt es keinen Typunterschied (und warum kompiliert er)?
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
@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 –
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. –