gpt4 book ai didi

lua - Redis lua 脚本不工作

转载 作者:IT王子 更新时间:2023-10-29 06:03:54 27 4
gpt4 key购买 nike

我创建了一个 redis lua 脚本来执行基于关键数据类型的命令:-

local keyType = redis.call("TYPE", KEYS[1])
if (keyType == "string")
then
return redis.call("GET",KEYS[1])
else
return nil
end

每次我执行它时它都返回 null。任何人都可以帮助更正脚本。

最佳答案

redis.call 的响应返回一个如下所示的表格:{"ok": "string"}(如果类型当然是字符串)

因此,为了正确检查,您应该将代码更改为:

local keyType = redis.call("TYPE", KEYS[1]).ok

其余代码将正常工作。

问题是这样的:TYPE 命令是为数不多的返回“简单字符串”或“状态”redis 回复的命令之一(有关响应类型,请参阅 redis protocol specs)。在 redis lua 文档中指出:

Redis status reply -> Lua table with a single ok field containing the status

这就是这里发生的事情。

关于lua - Redis lua 脚本不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35315176/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com