我在 redis 集群上运行 lua 脚本时遇到一个奇怪的错误。
下面的脚本
--if keyCount ~= 1 or KEYS[1] == nil then
--end
抛出错误:
(error) ERR Error compiling script (new function): user_script:3: 'end' expected (to close 'function' at line 1) near '<eof>'
以下是我使用的redis-cli命令:
./redis-cli -h HOST -p PORT SCRIPT LOAD "$(cat 2.lua)"
对我来说这看起来像是一个错误,为什么一个完整注释的脚本在结尾需要一个“结束”!!有人看过吗?
PS:我发布了我能够重现问题的最小版本的脚本,实际上在放置行注释时以更大的脚本面对它。放置像 --[[]] 这样的多行注释可以解决问题,但这不应该首先发生!我正在使用 Lua 5.1 和 redis 3.0.x
最佳答案
已确认这是 redis 3.0.5(运行 Lua 5.1)的错误,该问题已在 redis 3.0.7 中修复
关于Lua脚本错误,同时用redis放置行注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36544893/