Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gomodule/redigo如何将多个键按到redis_Go_Redis_Redigo - Fatal编程技术网

gomodule/redigo如何将多个键按到redis

gomodule/redigo如何将多个键按到redis,go,redis,redigo,Go,Redis,Redigo,我正在尝试将多个元素rpush到redis密钥。当前正在使用的redis池连接 若我尝试将数组放入rpush,则会推送一个连接了数组的字符串。我怎样才能推送单个元素呢 conn := Pool.Get() // A redigo redis pool arr := []string{"a", "b", "c", "d"} conn.Do("RPUSH","TEST","x","y") // This works conn.Do("RPUSH", "TEST", arr) //This does

我正在尝试将多个元素rpush到redis密钥。当前正在使用的redis池连接

若我尝试将数组放入rpush,则会推送一个连接了数组的字符串。我怎样才能推送单个元素呢

conn := Pool.Get() // A redigo redis pool 
arr := []string{"a", "b", "c", "d"}
conn.Do("RPUSH","TEST","x","y") // This works
conn.Do("RPUSH", "TEST", arr) //This does not work

我没有图书馆,但从我在他们的文档中看到的情况来看,我想这应该是可行的:

conn.Do("RPUSH", arr...)
是一个参数运算符,用于解压缩切片的元素,并将它们作为单独的参数传递给变量函数,与此相同:

arr := []string{"TEST", "a", "b", "c", "d"}

conn.Do("RPUSH", "TEST", arr[0], arr[1], arr[2], arr[3])

有关变量函数的更多信息,请参见go

构建一段参数并使用这些参数调用变量函数:

 args := []interface{"TEST")
 for _, v := range arr {
   args = append(args, v)
 }
 conn.Do("RPUSH", args...)
助手使用一行应用程序代码执行相同的操作:

 conn.Do("RPUSH", edis.Args{}.Add("TEST").AddFlat(arr)...)

args:=[]接口{“TEST”}为我提供了一个意外的文本“TEST”错误,应为方法或接口name@ThunderCat是的,我不确定。最后,他只需要将他的
TEST
值添加到
arr
字符串中。编辑答案,谢谢