Spec-Zone.ru › Redis

FCALL

FCALL
Синтаксис
FCALL function numkeys [key [key ...]] [arg [arg ...]]
Доступно с версии:
7.0.0
Сложность вычислений:
Зависит от выполняемой функции.
Категории ACL:
@slow, @scripting,

Вызов функции.

Функции загружаются на сервер с помощью команды FUNCTION LOAD. Первый аргумент — имя загруженной функции.

Второй аргумент — количество аргументов-имен ключей, за которыми следуют все ключи, к которым обращается функция. В Lua эти имена входных ключей доступны функции в виде таблицы, которая является первым аргументом обратного вызова.

Важно: Для правильного выполнения функций, как в автономных, так и в кластерных развертываниях, все имена ключей, к которым функция обращается, должны быть явно указаны в качестве входных аргументов ключей. Функция должна только обращаться к ключам, имена которых указаны в качестве входных аргументов. Функции никогда не должны обращаться к ключам с динамически сгенерированными именами или на основе содержимого структур данных, хранящихся в базе данных.

Любые дополнительные входные аргументы не должны представлять имена ключей. Это обычные аргументы, которые передаются в таблице Lua как второй аргумент обратного вызова.

Для получения дополнительной информации см. страницы Redis Programmability и Введение в Redis Functions.

Примеры

В следующем примере будет создана библиотека под названием mylib с одной функцией, myfunc, которая возвращает полученный первый аргумент.

redis> FUNCTION LOAD "#!lua name=mylib \n redis.register_function('myfunc', function(keys, args) return args[1] end)"
"mylib"
redis> FCALL myfunc 0 hello
"hello"

© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/fcall/

Spec-Zone.ru

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