Spec-Zone.ru › Redis

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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API