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