给 Redis Lua 脚本传递参数

我正试着使用以下语法给我的 Redis Lua 脚本传递参数:

redis-cli -h 127.0.0.1 -p 6379 -a my-super-secret-auth-key --eval /tmp/test.lua 0 60

然而,在我的脚本中,当我执行以下操作时: print (ARGV[1]);

我得到了 (nil) 的返回值。我做错了什么?如何正确地向我的脚本传递参数?

点赞
用户1442917
用户1442917

即使您没有传递任何KEYS参数(假设您想将0和60作为ARGV参数传递),您仍需要使用逗号(,)分隔KEYS和ARGV参数:

redis-cli -h 127.0.0.1 -p 6379 -a my-super-secret-auth-key --eval /tmp/test.lua , 0 60

在您的情况下,这些参数被视为KEYS而不是ARGV参数。请参阅Redis文档中的 运行Lua脚本

2017-07-29 06:13:46