带有 Redigo 的 GEOADD 命令
GEOADD command with Redigo
这是我正在尝试的,使用 Redigo ("github.com/garyburd/redigo/redis"):
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 这很好用:
GEOADD geoIndex 3.361389 38.115556 12
==> (integer) 1
其他命令工作正常,这只是我第一次使用 GEOADD,它显然没有像我预期的那样工作。
有人有想法吗?
调用此 API 的最简单方法是:
_, err := conn.Do("GEOADD", "geoIndex", "3.361389", "38.115556", "12")
您还可以传递数字值:
_, err := conn.Do("GEOADD", "geoIndex", 3.361389, 38.115556, 12)
如果您确实想将命令拼凑在一起,则将切片传递给 AddFlat,而不是指向切片的指针:
insertPos := []string{"3.361389", "38.115556", "12"}
_, err := conn.Do("GEOADD", redis.Args{}.Add("geoIndex").AddFlat(insertPos)...)
这是我正在尝试的,使用 Redigo ("github.com/garyburd/redigo/redis"):
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 这很好用:
GEOADD geoIndex 3.361389 38.115556 12
==> (integer) 1
其他命令工作正常,这只是我第一次使用 GEOADD,它显然没有像我预期的那样工作。 有人有想法吗?
调用此 API 的最简单方法是:
_, err := conn.Do("GEOADD", "geoIndex", "3.361389", "38.115556", "12")
您还可以传递数字值:
_, err := conn.Do("GEOADD", "geoIndex", 3.361389, 38.115556, 12)
如果您确实想将命令拼凑在一起,则将切片传递给 AddFlat,而不是指向切片的指针:
insertPos := []string{"3.361389", "38.115556", "12"}
_, err := conn.Do("GEOADD", redis.Args{}.Add("geoIndex").AddFlat(insertPos)...)