redis.exceptions.ResponseError: Error compiling script (new function): user_script:17: ‘end‘ expecte

代码为

delay_lua_script = """
local key = KEYS[1]
local threadId = ARGV[1]
local time = ARGV[2]
local id = redis.call('get', key)
-- 如果key存在并且id与threadId相等,就延时
if (id and id == threadId) then
    redis.call('expire', key, time)
    return 1
end
return 0  -- 否则说明没有延时成功
"""
print(delay_lua_script)
from utils.redis import Redis
print(Redis.register_script(delay_lua_script.encode('utf-8'),["name"],[1,300]))

结果出现

redis.exceptions.ResponseError: Error compiling script (new function): user_script:17: 'end' expecte

最后发现是lua脚本注释最好不要写到代码后面

lua脚本最后一行改为

-- 否则说明没有延时成功
return 0  

成功解决问题

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值