ホームページ >バックエンド開発 >PHPチュートリアル >フラッシュセールプログラム設計について
現在のアイデアは次のとおりです:
ユーザーがフラッシュ セールに参加するとき、すべてのユーザーをデータベースに挿入し、タイマーがゼロになるまで時間に従ってポーリングします。ポーリングされたユーザーがフラッシュ セールの勝者になります。 ,
ポーリング時間は 1 秒ですが、問題は、他のユーザーが最後の 1 秒でフラッシュ キル ボタンを押すと、カウンターが追加され、その後ポーリングが続行されることです
なぜ不合理なのかわかりません。 ! !
あなたの意見を表明してください!ありがとうございます
いいえ、その時が来たら、ただロックしてそのままにしておいてください、なぜ私が尋ねなければなりませんか!
はい、時間が過ぎるとテーブルがロックされ、挿入が禁止されます。
次にスタックの考え方ですが、最後に挿入されたものが落札者になります。
最後の瞬間に複数の落札者がいる場合は、ポーリングします
(実際、個人的にはポーリングは必要ないと思います。desc で注文し、クエリを処理するために mysql に渡すだけです)
うわー、理にかなっていますが、私は十分に合理的だとは思わないでください
公平性を重視してください 正義
即死の話を聞いていると、数秒で 1 つしか得られないようですか?
この場合、開始時間のカウントダウンが必要になります。時間が経過すると、最初の注文が完了すると、誰かがすでに購入したかどうかが確認されます。置かれた場合、購入は停止されます。
これでいいんじゃないの?
なるほど、それは合理的ではないと思います
公平性と正義に注意してください
直前に購入する場合は同時購入はなく、1 人だけが落札するのが最も公平です。 。
複数の人が同時に入札した場合、誰が入札するべきだと思いますか?それは単なるランダムなものではなく、他の誰にとっても公平ではありません。追加の rand プロセスがあります。直接注文して mysql に決定させる方がよいでしょう。
知っています
実際、フラッシュセールの原理も同じです
最後に落札したものが落札されます!
また、挿入時間をマイクロ秒 (1 秒 = 100 万マイクロ秒) に設定した場合、同時実行は不可能だと思います。
本当に同時実行性がある場合、あなたのサイトはすでに非常に NB であり、ここに来て質問することは不可能であり、あなたの周りにはすでに多数のエンジニアがいます。
また、挿入時間をマイクロ秒 (1 秒 = 100 万マイクロ秒) に設定した場合、同時実行は不可能だと思います。
本当に同時実行性がある場合、あなたのサイトはすでに非常に NB であり、ここに来て質問することは不可能であり、あなたの周りにはすでに多数のエンジニアがいます。
ははは...
はは、その過程でさまざまな問題に遭遇しました。つまり、ブラウザごとに ajax リクエストの時間が異なるということです
。 。 。
考えてみて、クライアントに時間を直接表示するのは不適切です
最後に行うことは、ロック テーブル メソッドを使用することです。 。 。
ほとんど使えません、ありがとうございます! !
質問させていただきたいのですが、私はコンピューターの専門家ではないので、指定した時間にクリックを自動的に更新するフラッシュキラーのようなプログラムを作りたいのですが、どうすればよいですか。私がやりますか?
ははは、プロセス中にさまざまな問題に遭遇しました。異なるブラウザーが ajax リクエストを行うと時間が異なります。 。 。
考えてみて、クライアントに時間を直接表示するのは不適切です
最後に行うことは、ロック テーブル メソッドを使用することです。 。 。
ほとんど使えません、ありがとうございます! !
オーナーさん、このようなプログラムを開発してもらえませんか?購入したいのですが、QQ 63566536 電話番号 13283250777