Go Redis 将 HGetAll 结果转换为结构

我正在从中获取数据,redis.HGetAll但没有找到将结果转换为我的 Struct 的干净方法。


var object struct {

    x int

}


result := redisClient.HGetAll(context.Background(), "the_h_key")


//TODO import the result content into the object 

这个壮观的案例有什么功能吗?


我正在使用JSON包(编组,然后 UnMarshal 到结构)。


扬帆大鱼
浏览 723回答 2
2回答

子衿沉夜

Redis 的结果是一个 map[string]string。对于结构中的每个字段,从映射中获取值,将字符串转换为字段类型并分配给字段。 var o object var err error o.x, err = strconv.Atoi(m["x"]) if err != nil {      // handle the error } ... repeat for other fields as needed

慕标琳琳

如果您的数据结构不是太复杂,使用 redis 保存数据的一种方便方法是 jsons。只是json.Marhsal()您的结构并将其保存为字符串,然后json.Unmarshal()将该字符串保存到您的结构中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go