Lua脚本在redis中添加行注释时出现错误

我在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)"

看起来像是一个错误,为什么一个完全被注释的脚本需要在结尾处添加'end'?有人见过这种情况吗?

PS:我发布的是最简化版本的脚本,我在放置行注释时遇到了这个问题,实际上在放置较大脚本时也遇到了。放置类似--[[]]的多行注释可以解决问题,但首先不应该发生这种情况!我正在使用Lua 5.1和redis 3.0.x

点赞
用户3111871
用户3111871

确认这是 Redis 3.0.5(运行 Lua 5.1)的一个 bug,此问题已在 Redis 3.0.7 中得到修复。

2016-04-14 06:01:33