gomodule/redigo如何将多个键按到redis
我正在尝试将多个元素rpush到redis密钥。当前正在使用的redis池连接 若我尝试将数组放入rpush,则会推送一个连接了数组的字符串。我怎样才能推送单个元素呢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
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
字符串中。编辑答案,谢谢