Golang redigo hmset hset 问题


最近公司项目,换到了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)
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM