KärndataMobilitet

Geospatial sökning

Hitta de närmaste förarna, butikerna eller enheterna inom en radie eller en ruta, med live-positioner som uppdateras var några sekunder.

eller sökning i ruta
Radie
enheter
km, mi, m, ft
positionsuppdateringar
Live
Steg 1 av 4
Förarna rapporterar positioner

Varje uppdatering ersätter förarens tidigare position.

Exempelsessionplaying
# Förarna rapporterar positioner
hotkv> GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:23
(integer) 0

En animerad genomgång med riktiga HotKV-kommandon och exempelsvar. Klicka på valfritt steg för att hoppa dit. Kommandon och svar förblir på engelska, precis som du skriver och ser dem i HotKV.

Problemet

Att matcha en passagerare med närmaste förare, eller en kund med närmaste butik med lager, kräver en färsk bild av tusentals rörliga positioner och ett svar på millisekunder. En relationsdatabas med spatiala index har svårt med så många uppdateringar per sekund.

Så löser HotKV det

Positionerna ligger i ett geospatialt index. Varje förare uppdaterar sin egen position var några sekunder med GEOADD, och GEOSEARCH returnerar alla inom en radie eller en ruta, närmast först, med deras avstånd. Samma index besvarar frågor om butikssökning och leveranszoner.

Steg för steg

Vad som händer, kommando för kommando

  1. 01

    Förarna rapporterar positioner

    Varje uppdatering ersätter förarens tidigare position.

    GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:23
  2. 02

    En passagerare ber om en bil

    Hitta de fem närmaste förarna inom 3 km, närmast först.

    GEOSEARCH drivers:berlin FROMLONLAT 13.4000 52.5190 BYRADIUS 3 km ASC COUNT 5 WITHDIST
  3. 03

    Erbjud resan

    Lås föraren så att två passagerare inte kan få samma bil.

    SET offer:driver:17 rider:42 NX EX 15
  4. 04

    Avstånd till upphämtning

    Avståndet mellan två medlemmar i indexet.

    GEODIST drivers:berlin driver:17 driver:23 km
Där det passar

Verkliga scenarier

Taxi och samåkning

Förare i närheten hittas på millisekunder, och ett erbjudandelås förhindrar dubbelbokning.

Leveransplattformar

Bud nära en restaurang matchas när beställningar blir klara.

Butikssökning

Kunder ser de närmaste butikerna inom en ruta runt kartvyn.

Inbyggt

Det här får du

Live-positioner

GEOADD lägger till eller uppdaterar medlemmar efter longitud och latitud.

GEOADD

Sökning efter radie och ruta

Runt en punkt eller en medlem, sorterat efter avstånd, begränsat till ett antal.

GEOSEARCHGEOSEARCHSTORE

Avstånd och positioner

Mellan medlemmar, i den enhet du väljer.

GEODISTGEOPOS

Vanliga sorterade mängder under ytan

Ta bort medlemmar och räkna dem med de kommandon för sorterade mängder du redan kan.

ZREMZCARD

Vanliga frågor

Hur tar jag bort en förare som går offline?

Ett geospatialt index är en sorterad mängd, så ZREM tar bort medlemmen.

Kan jag söka i en rektangel?

Ja. GEOSEARCH BYBOX tar en bredd och höjd runt en punkt eller en medlem.

Vilka enheter stöds?

Meter, kilometer, fot och engelska mil.

Relaterade användningsfall

Prova på din egen arbetslast

HotKV talar Redis-protokollet, så du kan peka en befintlig klient mot det och köra samma kommandon.