I’m getting data from the redis.HGetAll
but found no clean way to convert results into my Struct.
var object struct {
x int
}
result := redisClient.HGetAll(context.Background(), "the_h_key")
//TODO import the result content into the object
Is there any function for this spectacular case?
I’m using the JSON
package(marshal, then UnMarshal to a struct).
2
Answers
The result from Redis is a map[string]string. For each field in the struct, get the value from the map, convert the string to the field type and assign to the field.
If your datastructure isn’t too complex, one convenient way to save data using redis is as jsons. Just
json.Marhsal()
your struct and save it as a string and thenjson.Unmarshal()
that string into your struct back.