PHP MYSQL が同時実行による過剰在庫の発生を防ぐ方法。
ウェブサイトで共同購入、フラッシュセール、特別オファーなどのアクティビティが発生すると、在庫が 1 つしかなく、2 人のユーザーが同時に注文した場合、在庫が限られてしまうのが現状です。 -1 になります。これは、2 人のユーザーが購入したことを意味しますが、在庫は 1 つだけです。この問題を解決するにはどうすればよいですか?
------解決策----------------------
データベースのロック、更新用に選択します。 。
キャッシュを使用して在庫を管理します。 。あらゆる減少。 。 。注文したが支払いがなかった場合は、後でリセットしてください
-----ソリューションのアイデア----------------------
1. トランザクション処理
一般的に、トランザクション処理はここで解決できます。
2. 在庫の各減少は、注文シリアル番号に対応します。注文シリアル番号はユーザーの在庫削減アクションが発生したときに生成されます) 注文シリアル番号は自動インクリメント ID でテーブルに格納されます。その後、シリアル番号をカウントすれば解決します。