Il y a 100 articles et 1 000 demandes affluent. Les 200 premières requêtes sont conservées, et les 800 dernières requêtes sont renvoyées directement.
Sur ces deux cents demandes, seule une centaine de commandes ont été passées avec succès.
Ces deux cents demandes génèrent-elles directement des commandes en fonction de la file d'attente ?
Mais n’avez-vous pas besoin de vérifier l’adresse et d’autres informations avant de générer une commande ?
Comment l’ensemble du processus doit-il être géré ?
Au lieu de générer directement une commande, la soi-disant file d'attente consiste à y mettre des billets et à les acheter avec les billets ! Tout cela peut être le numéro 1, ou il peut être remplacé par autre chose ! Redis est monothread et le retrait de la file d'attente s'effectue selon le principe du premier arrivé, premier servi. Il renvoie false lorsque la file d'attente est vide. Tant que l'utilisateur obtient le ticket, il peut immédiatement mettre le produit dans son panier et passer directement au processus d'achat normal !
Pas de file d'attente/verrouillage jusqu'à la dernière étape. . Au début, vous remplissez les informations. Dans la dernière étape, vous devez les verrouiller lors de la soumission de l'inventaire. La chose simple est l'ajout de memcache. Si c'est plus compliqué, utilisez la file d'attente pour le traiter
.