2017-10-16 4 views
0

Ich muss den Standort eines Objekts und einige zusätzliche Daten zu diesem Objekt speichern. Wenn es eine Möglichkeit, dass ich etwas tun kann, wie die folgendenGibt es eine Möglichkeit, ReJSON mit GEOADD zu verwenden?

GEOADD speichert lange lat {key1: val1, key2: val2, ...}

Die Absicht ist es, eine einzelne Abfrage für die Nähe laufen und erhält die zugehörigen Daten zusammen, anstatt mehrere Abfragen auszuführen, um alle Speicherschlüssel zu erhalten, die sich in einer bestimmten Nähe befinden, und dann diese Schlüssel zu verwenden, um Daten für diese Speicher abzurufen.

Danke.

Antwort

0

ReJSON bietet einen neuen Datentyp für Redis (natürlich für JSON-Objekte), während Geo-Sets (implementiert mit sortierten Sets) Redis-Strings sind. Also, die kurze Antwort ist nein.

Neben der technischen Unmöglichkeit sollten Sie auch darüber nachdenken, ob Sie ReJSON überhaupt benötigen - der Hauptvorteil besteht darin, semi-effizienten Lese-/Schreibzugriff auf Unterelemente zu ermöglichen, und in Ihrem Fall sieht es so aus. bekomme "den gesamten JSON-Wert.

Sie können eine einzige Abfrage durchführen und die serialisierte JSON (Redis String) erhalten, solange alle "JSONs" eindeutig sind. Wenn sie nicht sind, machen Sie sie so (d. H. Fügen Sie einige id Schlüssel in ihnen oder etwas). Durch die Abfrage werden diese serialisierten JSON-Zeichenfolgen an Ihren Client zurückgegeben, wo Sie sie analysieren können.

Verwandte Themen