Al uw vragen worden beantwoord op de EVAL
pagina, maar aangezien je het vroeg...:
Wat is het verschil?
KEYS
wordt gebruikt om sleutelnamen door te geven terwijl ARGS
voor iets anders zou moeten zijn. Dit wordt niet precies afgedwongen (d.w.z. de meeste keren zou je het goed vinden om ze te mixen), maar het kan tot potentiële problemen leiden als het niet wordt opgevolgd.
Hoe behandelt Redis waarden in de KEYS-array?
De inhoud van KEYS
worden gecontroleerd om te controleren of alle sleutels beschikbaar zijn voor de Redis-shard waarop het script wordt uitgevoerd. Dit mechanisme is aanwezig om het uitvoeren van scripts in een Redis-clusterimplementatie mogelijk te maken.
Wat als ik in mijn script sleutels moet gebruiken die dynamisch worden gegenereerd tijdens runtime?
Zie eerdere antwoorden - dat is mogelijk, maar u zou tegen de aanbevelingen ingaan. Uw script kan alleen veilig worden uitgevoerd op een zelfstandige Redis-instantie en aangezien dit gedrag niet is gespecificeerd, kan het in toekomstige releases kapot gaan.