EVAL
EVAL
EVAL script numkeys [key [key ...]] [arg [arg ...]]
- Доступно с версии:
- 2.6.0
- Сложность вычислений:
- Зависит от выполняемого скрипта.
- Категории ACL:
-
@slow,@scripting,
Вызывает выполнение Lua скрипта на стороне сервера.
Первый аргумент — исходный код скрипта. Скрипты написаны на языке Lua и выполняются встроенным интерпретатором Lua 5.1 в Redis.
Второй аргумент — количество входных аргументов в виде имён ключей, за которыми следуют все ключи, к которым обращается скрипт. Эти имена входных ключей доступны скрипту как глобальная переменная runtime KEYS. Любые дополнительные входные аргументы не должны представлять имена ключей.
Важно: для обеспечения правильного выполнения скриптов как в автономных, так и в кластерных развертываниях, все имена ключей, к которым обращается скрипт, должны быть явно указаны в качестве входных аргументов ключей. Скрипт должен только обращаться к ключам, имена которых указаны в качестве входных аргументов. Скрипты никогда не должны обращаться к ключам с программно сгенерированными именами или на основе содержимого структур данных, хранящихся в базе данных.
Для получения дополнительной информации о Lua скриптах, обратитесь к разделам Программируемость Redis и Введение в скрипты Eval.
Примеры
В следующем примере будет запущен скрипт, который возвращает первый полученный им аргумент.
> EVAL "return ARGV[1]" 0 hello "hello"
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/eval/