首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Redigo的GEOADD命令

使用Redigo的GEOADD命令
EN

Stack Overflow用户
提问于 2017-01-28 01:17:40
回答 1查看 321关注 0票数 2

这是我正在尝试的,使用Redigo ("github.com/garyburd/redigo/redis"):

代码语言:javascript
复制
insertPos := []string{"3.361389", "38.115556", "12"}
if _, err := conn.Do("GEOADD", redis.Args{}.Add("geoIndex").AddFlat(&insertPos)...); err != nil {
    log.Print(err)
} 
==> "ERR wrong number of arguments for 'geoadd' command"

而在使用redis-cli时,这是可以正常工作的:

代码语言:javascript
复制
GEOADD geoIndex  3.361389  38.115556  12
==> (integer) 1

其他命令运行良好,这只是我第一次使用GEOADD,它显然不能像我期望的那样工作。有没有人有主意?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-28 01:23:34

调用此API的最简单方法是:

代码语言:javascript
复制
_, err := conn.Do("GEOADD", "geoIndex", "3.361389", "38.115556", "12")

您还可以传递数值:

代码语言:javascript
复制
_, err := conn.Do("GEOADD", "geoIndex", 3.361389, 38.115556, 12)

如果您确实希望将命令组合在一起,则将切片传递给AddFlat,而不是指向切片的指针:

代码语言:javascript
复制
insertPos := []string{"3.361389", "38.115556", "12"}
_, err := conn.Do("GEOADD", redis.Args{}.Add("geoIndex").AddFlat(insertPos)...)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41899534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档