ERR Error compiling script (new function): Error compiling Lua script(编译 Lua 脚本出错)
Redis含义
用 EVAL 发送的 Lua 脚本无法被 Redis 内嵌的 Lua 解释器编译。由于脚本包含语法错误,在开始执行之前即被拒绝。
原因
Lua 脚本中的语法错误:未闭合的括号/引号、关键字拼写错误、缺少 'end'、无效的运算符或不受支持的 Lua 构造。客户端对脚本的拼接/转义不正确也可能触发。
解决方法
根据错误消息中的行/字符信息修正 Lua 语法(检查括号、引号和 'end' 是否配对)。在单独的 Lua 环境中编译脚本进行验证。确保客户端正确构造脚本(没有转义/拼接错误)。用 SCRIPT LOAD 预加载经过验证的脚本,并用 EVALSHA 调用。
同一数据库的其他条目
- ERR WAIT cannot be used with replica instancesWAIT cannot be used with replica instances(WAIT 不能用于副本实例)
- ERR Background append only file rewriting already in progressAOF rewrite already in progress(AOF 重写已在进行中)
- IOERR error or timeout reading from target instanceMIGRATE: I/O error or timeout to target(MIGRATE:与目标之间发生 I/O 错误或超时)
- ERR FAILOVER requires connected replicas.FAILOVER requires connected replicas(FAILOVER 需要已连接的副本)
- ERR invalid expire time in 'set' commandinvalid expire time in SET(SET 中的过期时间无效)