Tutte le tue domande trovano risposta in EVAL
pagina, ma dal momento che hai chiesto...:
Qual è la differenza?
KEYS
viene utilizzato per passare i nomi delle chiavi mentre ARGS
dovrebbe essere per qualsiasi altra cosa. Questo non è esattamente applicato (ovvero la maggior parte delle volte ti andrebbe bene mescolarli) ma potrebbe portare a potenziali problemi se non viene seguito.
In che modo Redis tratta i valori nell'array KEYS?
Il contenuto di KEYS
vengono controllati per verificare che tutte le chiavi siano disponibili per lo shard Redis che esegue lo script. Questo meccanismo è attivo per consentire l'esecuzione di script in una distribuzione del cluster Redis.
Cosa succede se, nel mio script, devo utilizzare chiavi generate dinamicamente in fase di esecuzione?
Vedi le risposte precedenti:è fattibile ma andresti contro i consigli. Il tuo script sarà sicuro per l'esecuzione solo su un'istanza Redis autonoma e poiché questo comportamento non è specificato, potrebbe interrompersi nelle versioni future.