Виклик таксі
Найближчих водіїв знаходять за мілісекунди, а блокування пропозиції не дає подвійного бронювання.
Знаходьте найближчих водіїв, магазини чи пристрої в радіусі або прямокутнику, з живими позиціями, що оновлюються кожні кілька секунд.
Кожне оновлення замінює попередню позицію водія.
Анімований покроковий розбір з реальними командами HotKV і прикладами відповідей. Натисніть будь-який крок, щоб перейти до нього. Команди та відповіді залишаються англійською, так само, як ви вводите й бачите їх у HotKV.
Підбір пасажиру найближчого водія або клієнту найближчого магазину із запасом потребує свіжого бачення тисяч рухомих позицій і відповіді за мілісекунди. Реляційна база даних із просторовими індексами не справляється з такою кількістю оновлень на секунду.
Позиції живуть у геопросторовому індексі. Кожен водій оновлює власну позицію кожні кілька секунд через GEOADD, а GEOSEARCH повертає всіх у радіусі чи прямокутнику, найближчих першими, з їхньою відстанню. Той самий індекс відповідає на запити пошуку магазинів і зон доставки.
Кожне оновлення замінює попередню позицію водія.
GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:23Знайдіть п'ятьох найближчих водіїв у межах 3 км, найближчих першими.
GEOSEARCH drivers:berlin FROMLONLAT 13.4000 52.5190 BYRADIUS 3 km ASC COUNT 5 WITHDISTЗаблокуйте водія, щоб двоє пасажирів не отримали те саме авто.
SET offer:driver:17 rider:42 NX EX 15Відстань між двома членами індексу.
GEODIST drivers:berlin driver:17 driver:23 kmНайближчих водіїв знаходять за мілісекунди, а блокування пропозиції не дає подвійного бронювання.
Кур'єри поруч із рестораном підбираються, коли замовлення готові.
Клієнти бачать найближчі магазини в прямокутнику навколо видимої частини карти.
GEOADD додає чи оновлює членів за довготою й широтою.
GEOADDНавколо точки чи члена, відсортовано за відстанню, обмежено кількістю.
GEOSEARCHGEOSEARCHSTOREМіж членами, в одиниці на ваш вибір.
GEODISTGEOPOSВидаляйте членів і рахуйте їх знайомими командами відсортованих множин.
ZREMZCARDГеопросторовий індекс є відсортованою множиною, тож ZREM видаляє члена.
Так. GEOSEARCH BYBOX приймає ширину й висоту навколо точки чи члена.
Метри, кілометри, фути й милі.
HotKV розмовляє протоколом Redis, тож ви можете направити на нього наявний клієнт і виконувати ті самі команди.