データベースをロックして、待機中のジョブをデキューする方法を誰かが知っているかどうか疑問に思いました。だから私はデータベースにハッシュテーブルを持っていて、複数のユーザーが同時にそのデータを編集するリクエストを送信しているデータベースにデータを保存していますが、データはすべてのユーザーにわたって永続的である必要があり、1人のユーザーだけがアクセス/編集できます一度にそれ。
たくさんありがとう=)
データベースをロックして、待機中のジョブをデキューする方法を誰かが知っているかどうか疑問に思いました。だから私はデータベースにハッシュテーブルを持っていて、複数のユーザーが同時にそのデータを編集するリクエストを送信しているデータベースにデータを保存していますが、データはすべてのユーザーにわたって永続的である必要があり、1人のユーザーだけがアクセス/編集できます一度にそれ。
たくさんありがとう=)
「ただし、データはすべてのユーザーにわたって永続的である必要があります」について詳しく説明できますか?
トランザクション型のInnoDbは、すべてのユーザーに一貫した方法で物事を維持すると思います。ACIDに準拠しています。
http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.htmlで何か面白いものを見つけるかもしれません。トランザクションをシリアル化するための1つの手法は、1行だけのテーブルを作成し、実際の作業を開始する前に、すべてのトランザクションでこの行を更新することです。