Dati di baseMobilità

Ricerca geospaziale

Trova gli autisti, i negozi o i dispositivi più vicini in un raggio o in un riquadro, con posizioni dal vivo aggiornate ogni pochi secondi.

o riquadro
Raggio
unità
km, mi, m, ft
aggiornamenti di posizione
Dal vivo
Passo 1 di 4
Gli autisti inviano le posizioni

Ogni aggiornamento sostituisce la posizione precedente dell'autista.

Sessione di esempioplaying
# Gli autisti inviano le posizioni
hotkv> GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:23
(integer) 0

Una dimostrazione animata con comandi HotKV reali e risposte di esempio. Clicca su un passo qualsiasi per andarci. Comandi e risposte restano in inglese, esattamente come li digiti e li vedi in HotKV.

Il problema

Abbinare un passeggero all'autista più vicino, o un cliente al negozio più vicino con la merce disponibile, richiede una vista aggiornata di migliaia di posizioni in movimento e una risposta in millisecondi. Un database relazionale con indici spaziali fatica con così tanti aggiornamenti al secondo.

Come lo gestisce HotKV

Le posizioni vivono in un indice geospaziale. Ogni autista aggiorna la propria posizione ogni pochi secondi con GEOADD, e GEOSEARCH restituisce tutti quelli entro un raggio o un riquadro, dal più vicino, con la loro distanza. Lo stesso indice risponde alle query dello store locator e delle zone di consegna.

Passo dopo passo

Cosa succede, comando per comando

  1. 01

    Gli autisti inviano le posizioni

    Ogni aggiornamento sostituisce la posizione precedente dell'autista.

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

    Un passeggero chiede un'auto

    Trova i cinque autisti più vicini entro 3 km, dal più vicino.

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

    Offri la corsa

    Blocca l'autista, così due passeggeri non possono ricevere la stessa auto.

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

    Distanza dal punto di ritiro

    Distanza tra due membri dell'indice.

    GEODIST drivers:berlin driver:17 driver:23 km
Dove si usa

Scenari reali

Ride-hailing e taxi

Gli autisti vicini vengono trovati in millisecondi, e un lock sull'offerta evita le doppie prenotazioni.

Piattaforme di consegna

I corrieri vicini a un ristorante vengono abbinati man mano che gli ordini sono pronti.

Store locator

I clienti vedono i negozi più vicini dentro un riquadro attorno alla vista della mappa.

Integrato

Cosa ottieni

Posizioni dal vivo

GEOADD aggiunge o aggiorna i membri per longitudine e latitudine.

GEOADD

Ricerca per raggio e riquadro

Attorno a un punto o a un membro, ordinata per distanza, limitata per numero.

GEOSEARCHGEOSEARCHSTORE

Distanze e posizioni

Tra membri, nell'unità che scegli.

GEODISTGEOPOS

Sotto, semplici sorted set

Rimuovi e conta i membri con i comandi dei sorted set che conosci.

ZREMZCARD

Domande frequenti

Come rimuovo un autista che va offline?

Un indice geospaziale è un sorted set, quindi ZREM rimuove il membro.

Posso cercare in un rettangolo?

Sì. GEOSEARCH BYBOX accetta una larghezza e un'altezza attorno a un punto o a un membro.

Quali unità sono supportate?

Metri, chilometri, piedi e miglia.

Casi d'uso correlati

Provalo sul tuo carico di lavoro

HotKV parla il protocollo Redis, quindi puoi puntarci un client esistente ed eseguire questi stessi comandi.