나는 Go lang으로 개발 중이며 아주 새로 도입되었습니다. 나는 redis GEORADIUS 명령을 사용하여 거리를 포함한 결과를 얻고 싶습니다.redis geo radius 명령을 사용하는 방법
저는 이제 radix.v2와 redigo라는 두 개의 패키지를 사용하여 결과를 얻었지만 기쁨은 없었습니다. SET 및 GET과 같은 간단한 명령을 사용하여 문제가 없습니다.
도움이 될 것입니다.
편집 :
package main
import (
"fmt"
"github.com/mediocregopher/radix.v2/redis"
//"reflect"
"encoding/json"
)
var (
client *redis.Client
)
type Facility struct {
Id string
Dist string
}
func main() {
client, err := redis.Dial("tcp", "192.168.99.100:6379")
if err != nil {
// handle err
}
surname, err := client.Cmd("GET", "surname").Str()
if err != nil {
// handle err
}
fmt.Println(surname)
reply, _ := client.Cmd("GEORADIUS", "venues", 50, 0, 25, "mi", "WITHDIST", "ASC").Array()
if err != nil {
fmt.Println(err)
}
//fmt.Println(reflect.TypeOf(reply))
//fmt.Println(reply)
var facilities []Facility
for _, results := range reply {
facility, _ := results.Array()
id, _ := facility[0].Str()
dist, _ := facility[1].Str()
facilities = append(facilities, Facility{
Id: id,
Dist: dist,
})
}
//fmt.Println(facilities)
resp, _ := json.Marshal(facilities)
fmt.Fprintf(w, string(resp))
}
건배 스티븐
가 표시 FloatCmd (키, 회원 문자열, 쿼리 * GeoRadiusQuery) GeoDist (키 문자열, 멤버 1, 멤버 2, 단위 문자열) 당신이 시도한 코드. –
필자는 계속해서 작업을하고 있으며 필자는 점점 더 가까워지고 있지만 필자가 필요한 데이터를 얻는 가장 좋은 방법인지 확신 할 수는 없습니다. –
이 프로그램을 실행하면 어떻게됩니까? 예상되는 결과는 무엇입니까? –