You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis Lua脚本编译报错:'=' expected near 'local'问题求助

问题分析与解决

你的报错根源在于Lua脚本的语法错误,具体有两个关键问题:

  1. 多余的lua前缀
    你写的脚本开头加了lua,但这是终端里调用Lua解释器的命令前缀,并不是Lua脚本本身的语法内容,脚本里完全不需要这个前缀,直接写纯Lua代码即可。

  2. 语句分隔不规范
    Lua里多条语句如果挤在同一行,必须用分号;分隔;更推荐的写法是每条语句单独占一行。你把三条语句无分隔地堆在一行,导致Redis的Lua解释器无法正确解析语法结构,这才抛出了"'=' expected near 'local'"的错误。

修正后的Lua脚本

你可以选择以下两种规范格式的任意一种:

格式一:逐行编写(可读性更强)

local user = redis.call('GET', KEYS[1])
local output = redis.call('GET', user)
return output

格式二:同一行加分号分隔

local user = redis.call('GET', KEYS[1]); local output = redis.call('GET', user); return output

验证执行

把修正后的代码保存到lua_R_and_D.lua文件中,再执行终端命令:

redis-cli --eval lua_R_and_D.lua 12345

这次应该就能正常返回"It works!!"了。

内容的提问来源于stack exchange,提问作者JSBach

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:31:27