マルチユーザーアプリケーションの記録をロック-ベスト方法は?
-
21-08-2019 - |
質問
の開発をしているphp/mysqlの応用を扱う複数の同時のユーザー私が考える最適なアプローチがでロック/警告の記録を残して、現在閲覧/編集します。
シナリオの回避にはユーザーの閲覧、記録、変更、その他の仕様-可能性のある変更が上書きをしていけるようになっています。
最新版のWordPressを使うのはなんらかの方法で検出することがないよう完全に信頼さは、多くの還元を誤認、少なくとも私の経験です。
そして何らかの形でのajax必要があ'pingの応用を及ぼす場合がありますので知りの記録がまだ閲覧/編集(そうでない場合、ユーザーでありブラウザのウィンドウその後はどのように申請を知ります。
他の溶液またはチェックを最終更新時刻の記録提出のための更新が中間更新されている他-提供し、ユーザーの選択を進めるまたは破棄自身の変わります。
もっ吠えるのが違うの解決-活動を行う人の体験などを実施(何が必要かなり共通制限はありますか?
解決
私はこれを行うだろう。データベースに保存された時間での提出で、この時間を比較してください。それらが同じである場合は、テーブルをロックし、(変更時刻と一緒に)データを更新し、テーブルのロックを解除します。時間が異なる場合は、それについてユーザーに通知し、次のステップのためにお願いします。
他のヒント
タイムスタンプ比較して良いアイデア。これは、実装に安価だし、それが生産に実行するために安価な操作です。あなただけのユーザーに戻って、誰かがそれに彼らを倒すために自分の書き込み/更新が発生しなかったステータスメッセージを送信するためのロジックを記述する必要があります。
おそらく、フィールド内の各更新にユーザー名を格納考える「LastUpdateBy」のような何かを呼ばれ、横取り彼らのアップデートを持っていたユーザーにその裏を返します。ユーザーのために、ほんの少し微妙。企業の意味で、おそらくいないことが適切ではないかもしれない環境でニースます。