Redigo:如何使用Golang从Redis获取键值映射?

时间:2019-10-23 05:02:07

标签: go redis redigo

假设我的Redis中有这组密钥:

KEY           VALUE
"agent_100"   "{name: Agent1, status:online}"
"agent_200"   "{name: Agent2, status:offline}"
"agent_300"   "{name: Agent3, status:online}"
"agent_400"   "{name: Agent4, status:offline}"

我需要使用Redigo在Golang中返回包含所有这些键和值的地图。输出将类似于带有以下键值的map[uint64]string

100 -> "{name: Agent1, status:online}"
200 -> "{name: Agent2, status:offline}"
300 -> "{name: Agent3, status:online}"
400 -> "{name: Agent4, status:offline}"

如果我执行Scan,则可以获得与agent_*之类的模式匹配的所有键,然后我可以对所有这些键执行MGET,以获取值,但是如何我可以通过简单的方式链接这些键和值吗?

没有库函数不仅可以获取与模式匹配的键,而且还可以获取值,以便我可以以此返回地图?

我现在正在使用redigo,但我也正在研究go-redis,看看是否有更简单的方法可以实现这一目标,我愿意考虑其他选择。

谢谢!

1 个答案:

答案 0 :(得分:0)

MGET保留订单。因此,如果您发送密钥列表,则应该以相同的顺序获得预期结果,但缺少的密钥包含nil。