1
私は位置を格納するためにRedis Geo APIを使用しています。その後、GEORADIUS
でそれらをフェッチします。 私はGEORADIUS
で場所を取得すると、緯度、経度、各場所の名前のみを設定できるので、他のデータをどのように保存したり取得したりできますか?私の心に来るGeo-redis、追加データを保存
まず最初は、キーとしてGEOADD
name
を使用して、通常のキー/値のセットで追加データを格納し、キーがname
と同じもので、GEORADIUSと位置の配列を取得しましたその配列をループしてname
をキーとして他のデータをフェッチします。
これは正しいアプローチですか、そうするのが良い方法ですか?
デフォルトでは 'GEORADIUS'は' name'のみを返し、 'WITH..'iを使うと座標、距離などを得ることができます。埋め込みデータを含むすべてのものを取得するためのクエリはどのようになりますか?また、私はオブジェクトを格納する場合JSON文字列として格納する必要がありますか? – Fr0z3n
アイデアはちょうど名前の代わりに、残りのデータを追加するということです。次に、名前を取得することはペイロード全体を取得することを意味します。 JSONは有効なエンコーディングですが、これは幾分膨らんでいることに注意してください - 私の例のように、msgpackか、単純なデリミタが良い(よりリーンな)代替です。また、Luaのほんの少しで、エンコーディングやデコードをサーバーに移すことができます。 –
さて、それは追加のキー/価値だと思っていた。要素を削除するための参照として 'name'を使用し、' name'にデータを追加する必要があります。これは私ができることではありません。だから、別のセットを使うとそれは唯一の方法だと思うが、サーバースクリプティングの別の方法がある場合を除き、私はredisには新しく、私はLuaを知らない。 – Fr0z3n