私はGo langを使って開発しており、とても新しくなっています。私はredis GEORADIUSコマンドを使用して距離を含めて結果を取り戻したいと思います。redis geo radiusコマンドの使い方
私はradix.v2とredigoの2つのパッケージを使用して結果を得ましたが、喜びはありませんでした。私はSETやGETのような簡単なコマンドを使っても問題はありません。
ご協力いただきますようお願い申し上げます。
編集:あなたはRedisのパッケージにコードを見ることができます追加コード:-)
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))
}
乾杯 スティーブン
を表示あなたが試したコード。 –
私はそれに取り組んで、私は私が必要なデータを取得するための最善の方法であるかどうかは確かに近づいている。 –
このプログラムを実行するとどうなりますか?期待される結果は何ですか? –