Ich entwickle mit Go lang und sehr neu dazu. Ich möchte den Befehl redired GEORADIUS verwenden und meine Ergebnisse einschließlich der Entfernung zurück erhalten.wie zu verwenden redis geo radius befehl go lang
Ich habe jetzt zwei Pakete radix.v2 und Redigo verwendet, um zu versuchen, Ergebnisse zu erhalten, aber hatte keine Freude. Ich habe keine Probleme mit einfachen Befehlen wie SET und GET.
Jede Hilfe wird sehr geschätzt.
Edit: Code hinzugefügt :-)
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))
}
Prost Stephen
die anzeigen Code, den Sie ausprobiert haben. –
Ich arbeitete weiter daran und ich komme näher, bin mir aber nicht sicher, ob es der beste Weg ist, um die Daten zu bekommen, die ich brauche. –
Was passiert, wenn Sie dieses Programm ausführen? Was ist die erwartete Ausgabe? –