以下是我的lua脚本:
local ckid = redis.pcall('get',KEYS[1]) local meta = redis.call('hgetall', ckid) return {ckid, meta}
如果第一次调用没有退出键,我将不执行第二次调用。
所以…我不知道None的返回值是什么。在python中,返回值将为None。
if ckid ~= '???????' then local meta = redis.call('hgetall', ckid) else local meta = 'empty' retrun {ckid, meta}
所以…我该怎么办lua?
local ckid = redis.pcall('get',KEYS[1]) if ckid ~= nil then local meta = redis.call('hgetall', ckid) else local meta = 'none' local ckid = 'none' end return {ckid, meta}
使用零时
ResponseError: ERR Error running script (call to f_1400713412b0063a26eb0dc063f53a4e3be26380): user_script:12: Script attempted to access unexisting global variable 'meta'
如果在if语句中使用定义局部变量,则它仅在if语句中存在。在手册中查看局部变量范围。
尝试
local ckid = redis.pcall('get',KEYS[1]) local meta if ckid ~= nil then meta = redis.call('hgetall', ckid) else meta = 'none' ckid = 'none' end return {ckid, meta}