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条)

报告相同问题?

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号