Golang redigo hmset hset 问题

时间:2023-10-04 12:52:43

最近公司项目,换到了golang 下面来开发,遇到了redis存储链表的问题,困扰了我好几天,后面静下心来,好好读了一下源码,发现官方的例子,最终还是羊毛出在羊身上

c, err := dial()
if err != nil {
panic(err)
}
defer c.Close() var p1, p2 struct {
Title string `redis:"title"`
Author string `redis:"author"`
Body string `redis:"body"`
} p1.Title = "Example"
p1.Author = "Gary"
p1.Body = "Hello" if _, err := c.Do("HMSET", redis.Args{}.Add("id1").AddFlat(&p1)...); err != nil {
panic(err)
} m := map[string]string{
"title": "Example2",
"author": "Steve",
"body": "Map",
} if _, err := c.Do("HMSET", redis.Args{}.Add("id2").AddFlat(m)...); err != nil {
panic(err)
} for _, id := range []string{"id1", "id2"} { v, err := redis.Values(c.Do("HGETALL", id))
if err != nil {
panic(err)
} if err := redis.ScanStruct(v, &p2); err != nil {
panic(err)
} fmt.Printf("%+v\n", p2)
}