gpt4 book ai didi

lua - 返回平均值的 Redis 脚本

转载 作者:IT王子 更新时间:2023-10-29 05:58:17 24 4
gpt4 key购买 nike

我正在 redis 中编写一个 LUA 脚本,以返回已存储的两个键(XXX_COUNT 和 XXX_TOTAL)相除的结果,如果任何键不存在,则返回 0。脚本代码如下:

    local count = redis.call("GET", KEYS[1]..'_COUNT')
local total = redis.call("GET", KEYS[1]..'_TOTAL')
if not count or not total then
return 0
else
return tonumber(total)/tonumber(count)
end

问题是,当脚本返回“tonumber(total)/tonumber(count)”时,它的值始终为 0,已经检查了键并且它们将非零值作为字符串存储在 redis 中。这个脚本有什么问题?

提前致谢!

最佳答案

我找到了解决方案,我需要在返回之前将结果转换为字符串:

    local count = redis.call("GET", KEYS[1]..'_COUNT')
local total = redis.call("GET", KEYS[1]..'_TOTAL')
if not count or not total then
return 0
else
local avg = tonumber(total)/tonumber(count)
return tostring(avg)
end

希望对大家有帮助!

关于lua - 返回平均值的 Redis 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15775616/

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