차량 호출과 택시
가까운 운전자를 밀리초 만에 찾고, 제안 락이 이중 배차를 막습니다.
몇 초마다 갱신되는 실시간 위치로 반경이나 사각형 안에서 가장 가까운 운전자, 매장, 기기를 찾습니다.
갱신할 때마다 운전자의 이전 위치를 대체합니다.
실제 HotKV 명령과 예시 응답으로 구성된 애니메이션 안내입니다. 원하는 단계를 클릭하면 해당 단계로 이동합니다. 명령과 응답은 HotKV에서 입력하고 보는 그대로 영어로 표시됩니다.
승객을 가장 가까운 운전자와, 고객을 재고가 있는 가장 가까운 매장과 연결하려면 움직이는 수천 개 위치의 최신 상태와 밀리초 단위의 응답이 필요합니다. 공간 인덱스를 갖춘 관계형 데이터베이스는 초당 그만큼의 갱신을 감당하기 어렵습니다.
위치는 지리 공간 인덱스에 있습니다. 각 운전자는 몇 초마다 GEOADD로 자기 위치를 갱신하고, GEOSEARCH는 반경이나 사각형 안의 모든 대상을 가까운 순서로 거리와 함께 반환합니다. 같은 인덱스가 매장 찾기와 배달 구역 쿼리에도 답합니다.
갱신할 때마다 운전자의 이전 위치를 대체합니다.
GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:233 km 안에서 가장 가까운 운전자 다섯 명을 가까운 순서로 찾습니다.
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는 지점이나 멤버를 중심으로 너비와 높이를 받습니다.
미터, 킬로미터, 피트, 마일입니다.