Sorties de sneakers et de merch
Les éditions limitées s'écoulent en quelques secondes sans survendre une seule paire.
Vendez exactement le stock dont vous disposez quand dix mille clients cliquent sur Acheter dans la même seconde, et tenez les bots à l'écart.
500 unités sont mises en vente.
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.
Lors d'une vente flash, la base de données de stock devient le goulot d'étranglement précisément quand c'est le plus important. Les vérifications en lecture puis écriture survendent en cas de concurrence, les paniers abandonnés bloquent du stock pour toujours et les bots achètent le stock avant que les vrais clients n'aient fini de charger la page.
Le stock vit dans un compteur décrémenté de façon atomique, et des acheteurs simultanés ne peuvent jamais prendre plus que ce qui existe. Chaque réservation est une clé qui expire au bout de dix minutes, une limite de débit par client ralentit les bots, et les commandes confirmées entrent dans un stream que la logistique traite à son rythme.
500 unités sont mises en vente.
SET stock:sneaker-x 500Chaque client peut essayer deux fois toutes les 10 secondes. Les bots dépassent la limite immédiatement.
GCRA.LIMIT buy:customer:881 10000 2DECR est atomique. 10,000 clics simultanés ne peuvent jamais prendre plus de 500 unités.
DECR stock:sneaker-xLa réservation expire d'elle-même si le paiement est abandonné, et un processus de nettoyage remet l'unité en stock.
SET hold:sneaker-x:order-7781 customer:42 NX EX 600Quand DECR passe sous zéro, l'unité est rendue et le client voit « épuisé ». Le stock ne reste jamais négatif longtemps.
INCR stock:sneaker-xLes commandes payées sont ajoutées à un stream. Le système de l'entrepôt les traite à son propre rythme.
XADD orders * order 7781 sku sneaker-x customer 42Les éditions limitées s'écoulent en quelques secondes sans survendre une seule paire.
Les places sont réservées quelques minutes pendant le paiement et libérées automatiquement si l'acheteur s'en va.
Les créneaux de livraison sont des compteurs, décrémentés de façon atomique à mesure que les clients les réservent.
DECR et INCR modifient le stock en une étape, sans condition de course.
DECRINCRBYLes réservations sont des clés avec un TTL.
SETNXEXDes limites par client avec un délai de nouvel essai exact.
GCRA.LIMITUn stream pour la logistique, avec groupes de consommateurs et acquittements.
XADDXREADGROUPLes réservations expirées peuvent être détectées via les keyspace notifications ou un balayage périodique, qui incrémente à nouveau le compteur de stock.
Oui. GET renvoie la quantité actuelle. Seul DECR réserve.
Utilisez MULTI et EXEC, ou une fonction, pour décrémenter plusieurs compteurs ensemble.
HotKV parle le protocole Redis. Vous pouvez donc y connecter un client existant et exécuter ces mêmes commandes.