duanchazhou6779 2014-10-13 14:47
浏览 517
已采纳

如何使用Redigo库从Golang查询Redis数据库

I am trying to figure out what is the best way to query Redis db for multiple keys in one command. I have seen MGET which can be used for redis-cli. But how you do that using redigo library from GOlang code. Imagine I have an array of keys and I want to take from Redis db all the values for those keys in one query.

Thanks in advance!

  • 写回答

2条回答 默认 最新

  • duanpang2751 2014-10-13 15:01
    关注

    Assuming that c is a Redigo connection and keys is a []string of your keys:

    var args []interface{}
    for _, k := range keys {
        args = append(args, k)
    }
    values, err := redis.Strings(c.Do("MGET", args...))
    if err != nil {
        // handle error
    }
    for _, v := range values {
       fmt.Println(v)
    }
    

    The Go FAQ explains why you need to copy the keys. The spec describes how to pass a slice to a variadic param.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?