На всички ваши въпроси се отговаря в EVAL
страница, но след като попитахте...:
Каква е разликата?
KEYS
се използва за предаване на имена на ключове, докато ARGS
трябва да е за всичко друго. Това не е точно наложено (т.е. повечето пъти е добре да ги смесвате), но може да доведе до потенциални проблеми, ако не се спазва.
Как Redis третира стойностите в масива KEYS?
Съдържанието на KEYS
са проверени, за да се потвърди, че всички ключове са достъпни за Redis шарда, който изпълнява скрипта. Този механизъм е на разположение, за да позволи изпълняване на скриптове в разгръщане на Redis клъстер.
Ами ако в моя скрипт трябва да използвам ключове, динамично генерирани по време на изпълнение?
Вижте предишните отговори - това е изпълнимо, но бихте се противопоставили на препоръките. Вашият скрипт ще бъде безопасен за изпълнение само на самостоятелен екземпляр на Redis и тъй като това поведение не е посочено, може да се счупи в бъдещи издания.