Fahrdienste und Taxis
Fahrer in der Nähe werden in Millisekunden gefunden, und ein Lock auf das Angebot verhindert Doppelbuchungen.
Finden Sie die nächsten Fahrer, Geschäfte oder Geräte in einem Radius oder Rechteck, mit Live-Positionen, die alle paar Sekunden aktualisiert werden.
Jede Aktualisierung ersetzt die vorherige Position des Fahrers.
Ein animierter Durchlauf mit echten HotKV-Befehlen und Beispielantworten. Klicken Sie auf einen Schritt, um direkt dorthin zu springen. Befehle und Antworten bleiben auf Englisch, genau so, wie Sie sie in HotKV eingeben und sehen.
Einen Fahrgast dem nächsten Fahrer zuzuordnen oder einen Kunden dem nächstgelegenen Geschäft mit Bestand, braucht einen aktuellen Blick auf Tausende sich bewegender Positionen und eine Antwort in Millisekunden. Eine relationale Datenbank mit räumlichen Indizes tut sich mit so vielen Aktualisierungen pro Sekunde schwer.
Positionen liegen in einem Geodatenindex. Jeder Fahrer aktualisiert seine Position alle paar Sekunden mit GEOADD, und GEOSEARCH liefert alle innerhalb eines Radius oder Rechtecks, die nächsten zuerst, mit ihrer Entfernung. Derselbe Index beantwortet Anfragen für Filialsuche und Liefergebiete.
Jede Aktualisierung ersetzt die vorherige Position des Fahrers.
GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:23Finden Sie die fünf nächsten Fahrer innerhalb von 3 km, die nächsten zuerst.
GEOSEARCH drivers:berlin FROMLONLAT 13.4000 52.5190 BYRADIUS 3 km ASC COUNT 5 WITHDISTSperren Sie den Fahrer, damit nicht zwei Fahrgäste dasselbe Auto bekommen.
SET offer:driver:17 rider:42 NX EX 15Entfernung zwischen zwei Mitgliedern des Index.
GEODIST drivers:berlin driver:17 driver:23 kmFahrer in der Nähe werden in Millisekunden gefunden, und ein Lock auf das Angebot verhindert Doppelbuchungen.
Kuriere in der Nähe eines Restaurants werden zugeordnet, sobald Bestellungen fertig sind.
Kunden sehen die nächstgelegenen Geschäfte innerhalb eines Rechtecks um den Kartenausschnitt.
GEOADD fügt Mitglieder nach Längen- und Breitengrad hinzu oder aktualisiert sie.
GEOADDUm einen Punkt oder ein Mitglied, sortiert nach Entfernung, begrenzt nach Anzahl.
GEOSEARCHGEOSEARCHSTOREZwischen Mitgliedern, in der Einheit Ihrer Wahl.
GEODISTGEOPOSEntfernen und zählen Sie Mitglieder mit den Sorted-Set-Befehlen, die Sie kennen.
ZREMZCARDEin Geodatenindex ist ein Sorted Set, daher entfernt ZREM das Mitglied.
Ja. GEOSEARCH BYBOX nimmt eine Breite und Höhe um einen Punkt oder ein Mitglied.
Meter, Kilometer, Fuß und Meilen.
HotKV spricht das Redis-Protokoll, sodass Sie einen bestehenden Client darauf richten und genau diese Befehle ausführen können.