登录
首页 >  Golang >  Go问答

如何使用 redigo 推送多个密钥到 Redis

来源:stackoverflow

时间:2024-03-22 15:13:12 342浏览 收藏

使用 redigo 推送多个元素到 Redis 时,如果直接将数组作为参数传入 rpush 命令,将会推送一个与数组连接的字符串。要推送单个元素,可以使用可变参数函数和参数运算符。具体方法是将数组解压为单独的参数,然后将这些参数传递给 rpush 命令,例如: ``` arr := []string{"a", "b", "c", "d"} conn.Do("RPUSH", "TEST", arr...) ``` 其中 "..." 是参数运算符,它将数组元素解压为单独的参数。

问题内容

我正在尝试将多个元素推送到 redis 键。目前使用 https://github.com/gomodule/redigo 进行 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 中的可变参数函数的信息可以找到 in this very complete article

理论要掌握,实操不能落!以上关于《如何使用 redigo 推送多个密钥到 Redis》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>