使用redigo中mget问题

tuoba · 2017-09-28 01:55:05 · 3043 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-09-28 01:55:05 的主题,其中的信息可能已经有所发展或是发生改变。

小白请教个问题哈!我使用redigo时需要用到mget这个命令批量获取参数,但是官方给的传参方式:GO('MGET','KEY1','KEY2'),但是在实际应用中使用总是参数是不定长的,我尝试传入{“key1”,“key2”}也获取不到值,请教各位大佬,有了解怎么批量传参的方式! 目前简单这么使用的:res, r_err := redis.Strings(db.Redis.Do("MGET", "test1","test2"))


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3043 次点击  
加入收藏 微博
3 回复  |  直到 2018-10-09 18:56:57
channel
channel · #1 · 7年之前

不定参数,使用 redis.Args 来实现。

比如:

args := redis.Args{}.Add(key, cursor).AddFlat(optionArgs)
conn.Do("MGET", args...)
tuoba
tuoba · #2 · 7年之前
channelchannel #1 回复

不定参数,使用 `redis.Args` 来实现。 比如: ```go args := redis.Args{}.Add(key, cursor).AddFlat(optionArgs) conn.Do("MGET", args...) ```

好的,我试试,多谢哈!!

Rain
Rain · #3 · 6年之前

构建参数的一部分并使用这些参数调用变量函数:

 args := []interface{"TEST")
 for _, v := range arr {
   args = append(args, v)
 }
 conn.Do("RPUSH", args...)

Args Helper(https://godoc.org/github.com/gomodule/redigo/redis#Args)用一行应用程序代码做同样的事情:

conn.Do("RPUSH", edis.Args{}.Add("TEST").AddFlat(arr)...)
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传