複数の同時ユーザーを処理する php/mysql アプリケーションを開発しています。現在閲覧中・編集中のレコードをロック・警告する際の最善策を考えています。
避けるべきシナリオは、2 人のユーザーがレコードを表示し、1 人が変更を行い、次にもう 1 人が同様に行うことです。1 つの変更が前の変更を上書きする可能性があります。
WordPress の最新バージョンでは、これを検出するためにいくつかの方法を使用していますが、完全に信頼できるとは思えません。少なくとも私の経験では、誤検出を返すことがよくあります。
アプリケーションに「ping」を実行し、レコードがまだ表示/編集されていることを知らせるために、何らかの形式の ajax が必要であると想定します (そうしないと、ユーザーが単にブラウザー ウィンドウを閉じて、アプリケーションがそれをどのように認識するか)。
私が見ることができる別の解決策は、レコードが更新のために送信されたときに最終更新時刻を確認し、その間に他の場所で更新されたかどうかを確認し、ユーザーに自分の変更を続行するか破棄するかを選択させることです。
おそらく、私は解決策に関して間違ったツリーを吠えています-これを実装する人々の経験は何ですか(かなり一般的なものでなければなりません)要件?