Základní dataMobilita

Geoprostorové vyhledávání

Najděte nejbližší řidiče, prodejny nebo zařízení v okruhu či obdélníku, s živými polohami aktualizovanými každých pár sekund.

nebo vyhledávání v obdélníku
Okruh
jednotky
km, mi, m, ft
aktualizace polohy
Živé
Krok 1 z 4
Řidiči hlásí polohy

Každá aktualizace nahradí předchozí polohu řidiče.

Ukázková relaceplaying
# Řidiči hlásí polohy
hotkv> GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:23
(integer) 0

Animovaný průvodce se skutečnými příkazy HotKV a ukázkovými odpověďmi. Kliknutím na kterýkoli krok na něj přeskočíte. Příkazy a odpovědi zůstávají anglicky, přesně tak, jak je v HotKV zadáváte a vidíte.

Problém

Přiřadit pasažéra k nejbližšímu řidiči nebo zákazníka k nejbližší prodejně se zásobou vyžaduje čerstvý přehled o tisících pohybujících se poloh a odpověď v milisekundách. Relační databáze s prostorovými indexy s takovým počtem aktualizací za sekundu bojuje.

Jak to řeší HotKV

Polohy žijí v geoprostorovém indexu. Každý řidič aktualizuje svou polohu každých pár sekund pomocí GEOADD a GEOSEARCH vrátí všechny v okruhu nebo obdélníku, od nejbližšího, s jejich vzdáleností. Stejný index odpovídá na dotazy vyhledávače prodejen i doručovacích zón.

Krok za krokem

Co se děje, příkaz po příkazu

  1. 01

    Řidiči hlásí polohy

    Každá aktualizace nahradí předchozí polohu řidiče.

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

    Pasažér žádá o vůz

    Najděte pět nejbližších řidičů do 3 km, od nejbližšího.

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

    Nabídnutí jízdy

    Zamkněte řidiče, aby dva pasažéři nedostali stejný vůz.

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

    Vzdálenost k vyzvednutí

    Vzdálenost mezi dvěma členy indexu.

    GEODIST drivers:berlin driver:17 driver:23 km
Kam to zapadá

Scénáře z praxe

Odvoz osob a taxi

Řidiči v okolí se najdou v milisekundách a zámek nabídky zabrání dvojí rezervaci.

Platformy pro doručování

Kurýři v okolí restaurace se přiřazují, jakmile jsou objednávky hotové.

Vyhledávače prodejen

Zákazníci vidí nejbližší prodejny v obdélníku kolem zobrazené části mapy.

Zabudováno

Co dostanete

Živé polohy

GEOADD přidává nebo aktualizuje členy podle zeměpisné délky a šířky.

GEOADD

Vyhledávání v okruhu a obdélníku

Kolem bodu nebo člena, seřazené podle vzdálenosti, omezené počtem.

GEOSEARCHGEOSEARCHSTORE

Vzdálenosti a polohy

Mezi členy, v jednotce, kterou zvolíte.

GEODISTGEOPOS

Pod tím obyčejné seřazené množiny

Členy odebírejte a počítejte pomocí příkazů seřazených množin, které znáte.

ZREMZCARD

Časté otázky

Jak odstraním řidiče, který odejde offline?

Geoprostorový index je seřazená množina, takže člena odstraní ZREM.

Mohu hledat v obdélníku?

Ano. GEOSEARCH BYBOX bere šířku a výšku kolem bodu nebo člena.

Které jednotky jsou podporovány?

Metry, kilometry, stopy a míle.

Související případy použití

Vyzkoušejte to na své zátěži

HotKV mluví protokolem Redisu, takže na něj můžete nasměrovat stávajícího klienta a spustit tytéž příkazy.