VTC et taxis
Les chauffeurs proches sont trouvés en quelques millisecondes, et un verrou sur l'offre empêche la double réservation.
Trouvez les chauffeurs, magasins ou appareils les plus proches dans un rayon ou un rectangle, avec des positions en direct mises à jour toutes les quelques secondes.
Chaque mise à jour remplace la position précédente du chauffeur.
Une démonstration animée avec de vraies commandes HotKV et des exemples de réponses. Cliquez sur une étape pour y accéder directement. Les commandes et les réponses restent en anglais, exactement comme vous les saisissez et les voyez dans HotKV.
Associer un passager au chauffeur le plus proche, ou un client au magasin le plus proche qui a du stock, demande une vue à jour de milliers de positions en mouvement et une réponse en quelques millisecondes. Une base de données relationnelle avec des index spatiaux peine à suivre autant de mises à jour par seconde.
Les positions vivent dans un index géospatial. Chaque chauffeur met à jour sa position toutes les quelques secondes avec GEOADD, et GEOSEARCH renvoie tous ceux qui se trouvent dans un rayon ou un rectangle, du plus proche au plus éloigné, avec leur distance. Le même index répond aux requêtes de localisation de magasins et de zones de livraison.
Chaque mise à jour remplace la position précédente du chauffeur.
GEOADD drivers:berlin 13.4050 52.5200 driver:17 13.3889 52.5170 driver:23Trouvez les cinq chauffeurs les plus proches dans un rayon de 3 km, du plus proche au plus éloigné.
GEOSEARCH drivers:berlin FROMLONLAT 13.4000 52.5190 BYRADIUS 3 km ASC COUNT 5 WITHDISTVerrouillez le chauffeur pour que deux passagers ne puissent pas obtenir la même voiture.
SET offer:driver:17 rider:42 NX EX 15La distance entre deux membres de l'index.
GEODIST drivers:berlin driver:17 driver:23 kmLes chauffeurs proches sont trouvés en quelques millisecondes, et un verrou sur l'offre empêche la double réservation.
Les coursiers proches d'un restaurant sont associés aux commandes dès qu'elles sont prêtes.
Les clients voient les magasins les plus proches dans un rectangle autour de la vue de la carte.
GEOADD ajoute ou met à jour des membres par longitude et latitude.
GEOADDAutour d'un point ou d'un membre, triée par distance, limitée en nombre.
GEOSEARCHGEOSEARCHSTOREEntre membres, dans l'unité de votre choix.
GEODISTGEOPOSSupprimez et comptez les membres avec les commandes de sorted sets que vous connaissez.
ZREMZCARDUn index géospatial est un sorted set, et ZREM supprime donc le membre.
Oui. GEOSEARCH BYBOX prend une largeur et une hauteur autour d'un point ou d'un membre.
Mètres, kilomètres, pieds et miles.
HotKV parle le protocole Redis. Vous pouvez donc y connecter un client existant et exécuter ces mêmes commandes.