Passer au contenu principal

8 ~ Gérer la concurrence

💡 En un mot

Gérer la concurrence évite les incohérences quand plusieurs utilisateurs agissent en même temps.

🎯 Ce que cela garantit ✅

  • 🧍‍♂️🧍‍♀️ Pas de double dépense
  • 📦 Pas de stock négatif

🎯 Ce que cela n'est pas ❌

  • Une optimisation de performance
  • Une simple question de logique applicative

Exemple MySQL

START TRANSACTION;

SELECT stock FROM products WHERE id = 10 FOR UPDATE;

UPDATE products SET stock = stock - 1 WHERE id = 10;

COMMIT;

👉 Pourquoi ?

  • La ligne est verrouillée pendant la transaction