从redis客户端运行Lua脚本时出错

时间:2016-02-05 12:59:09

标签: lua redis

我有" Hello World"程序在Lua脚本中。 我试图从(Chocolatey)Redis客户端调用脚本。 我一直收到这个错误 (错误)ERR错误编译脚本(新函数):user_script:1:函数参数预期在'附近。'

Redis脚本:" hello.lua"

local msg = "Hello, world!"
return msg

Chocolatey Redis客户:

127.0.0.1:6379> EVAL "D:\hello.lua" 0

错误消息

(error) ERR Error compiling script (new function): user_script:1: function argument expected near '.'

1 个答案:

答案 0 :(得分:4)

EVAL接受脚本本身,而不是文件名。

试试这个:

EVAL 'local msg = "Hello, world!" return msg' 0

编辑:要在文件中执行脚本,redis-cli提供您可以使用的--eval开关,如下所示:

redis-cli --eval <path-to-script-file> [key1 [key2] ...] , [arg1 [arg2] ...]

我不熟悉Windows分支,但它也应该得到它的支持。

在* nix中,您还可以使用shell向cli提供脚本内容,例如:

redis-cli SCRIPT LOAD "$(cat path-to-script-file)"

会将文件中的内容加载到Redis。应该有类似的方法在Windows中实现这一点,但这超出了我目前的范围;)