2012-01-26 21 views
1

私はWeb開発の初心者です。シネマ発券Webサイトで同時性を実装することに決めました。たとえば、顧客が座席を選択すると、他の顧客から干渉を受けるのではなく、座席を一時的にロックしたり、同時に2人の顧客が座席を選択するというシナリオを避けたいと考えています。PHP、Javascript、およびMySQLを使用した並行性

私がこのウェブサイトを開発するために選択したスクリプト言語とデータベースは、PHP、Javascript、およびMySQLです。

私はそれを修正するためにどのテクニックを使用すべきかに関するいくつかの提案やリンクをお願いします。それは並行性と考えられますか?

+0

MySQLでの選択のあなたのデータベースエンジンがトランザクションをサポートしていることを確認し、座席のロックを解除するためにMySQLのイベントを使用して見て –

答えて

1

This answerは、これを行うための良い方法を提案している:

[...]タイムスタンプをcontainting列を作成します。行をロックするときはいつでも、現在の時刻に更新します。ロックを解除するには、少なくとも過去x分の時間に更新します。次に、タイムスタンプが少なくともx分古いことをロックされているかどうかをチェックします。

プロセスがクラッシュ(またはユーザーが操作を完了したことがない)場合は、この方法では、ロックが効果的にx分後に期限が切れます。

関連する問題