FCALL 餐厅
语法
FCALL function numkeys [key [key ...]] [arg [arg ...]]
- 从以下位置开始可用:
- 7.0.0
- 时间复杂度:
- 取决于执行的函数。
- ACL 类别:
-
@slow
,@scripting
,
调用函数。
函数使用FUNCTION LOAD
命令。
第一个参数是已加载函数的名称。
第二个参数是 input key name 参数的数量,后跟函数访问的所有键。 在 Lua 中,这些输入键的名称可以作为 table 提供给函数,该表是回调的第一个参数。
重要:为了确保函数的正确执行,无论是在独立部署还是集群部署中,函数访问的所有键的名称都必须作为输入键参数显式提供。 该函数应仅访问名称作为 input 参数给出的键。 函数绝不应访问具有编程生成名称或基于数据库中存储的数据结构内容的键。
任何其他 input 参数都不应表示键的名称。 这些是常规参数,在 Lua 表中作为回调的第二个参数传递。
有关更多信息,请参阅 Redis 可编程性和 Redis 函数简介页面。
例子
以下示例将创建一个名为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"