配車サービスとタクシー
近くのドライバーをミリ秒で見つけ、配車提示のロックで二重予約を防ぎます。
数秒ごとに更新されるライブの位置情報から、半径内や矩形内にいる最寄りのドライバー、店舗、デバイスを見つけます。
更新のたびに、ドライバーの以前の位置が置き換えられます。
実際のHotKVコマンドと応答例を使ったアニメーションのウォークスルーです。任意のステップをクリックすると、そこに移動します。 コマンドと応答は、HotKVで実際に入力し表示されるとおり英語のままです。
乗客を最寄りのドライバーと、顧客を在庫のある最寄りの店舗と結び付けるには、動き続ける何千もの位置の最新の状態と、ミリ秒単位の応答が必要です。空間インデックスを備えたリレーショナルデータベースでは、毎秒これほど多くの更新に対応するのは困難です。
位置は地理空間インデックスに保持されます。各ドライバーはGEOADDで数秒ごとに自分の位置を更新し、GEOSEARCHは半径内または矩形内のすべてを、近い順に距離とともに返します。同じインデックスで、店舗検索や配達エリアのクエリにも答えられます。
更新のたびに、ドライバーの以前の位置が置き換えられます。
GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:233 km以内で最も近い5人のドライバーを、近い順に見つけます。
GEOSEARCH drivers:berlin FROMLONLAT 13.4000 52.5190 BYRADIUS 3 km ASC COUNT 5 WITHDIST2人の乗客が同じ車を取れないように、ドライバーをロックします。
SET offer:driver:17 rider:42 NX EX 15インデックス内の2つのメンバー間の距離です。
GEODIST drivers:berlin driver:17 driver:23 km近くのドライバーをミリ秒で見つけ、配車提示のロックで二重予約を防ぎます。
注文の準備ができると、レストランの近くにいる配達員とマッチングします。
顧客には、地図の表示範囲を囲む矩形の中で最も近い店舗が表示されます。
GEOADDは経度と緯度でメンバーを追加または更新します。
GEOADD地点またはメンバーの周囲を、距離順に、件数を限定して検索します。
GEOSEARCHGEOSEARCHSTOREメンバー間の距離を、選んだ単位で取得します。
GEODISTGEOPOSおなじみのソート済みセットのコマンドで、メンバーの削除や件数の取得ができます。
ZREMZCARD地理空間インデックスはソート済みセットなので、ZREMでメンバーを削除できます。
はい。GEOSEARCH BYBOXは、地点またはメンバーを中心とした幅と高さを受け取ります。
メートル、キロメートル、フィート、マイルです。