小编amo*_*tzg的帖子

Lua脚本从Redis HGETALL调用返回高效字典

我需要HMGET从Lua脚本中使用Redis 并在以下代码中提取特定值.但是redis.call('HMGET', table_key, hkey1, hkey2, ...)返回一个扁平的阵列{hkey1, val1, hkey2, val2, ...}

要按键提取值,我写道:

local function flat_map_get(flat_map, hash_key)
    local i = 1
    while flat_map[i] do
        if flat_map[i] == hash_key then
            return flat_map[i+1]
        end
        i = i+2
    end
end
Run Code Online (Sandbox Code Playgroud)

当然,随着使用量的增加,对此功能的多次调用显示出主要的性能下降.

什么是从返回的平面数组中读取值的有效方法HMGET?或者,将返回的值转换为正确的键值表?

lua redis lua-table

4
推荐指数
1
解决办法
1358
查看次数

标签 统计

lua ×1

lua-table ×1

redis ×1