sql >> データベース >  >> RDS >> Mysql

php / mysql Webアプリケーションで悲観的なロックを実装する方法は?

    テーブルにLOCKDATEフィールドとLOCKWHOフィールドを実装する必要があります。 PHP / MySQL以外の多くのアプリケーションでこれを実行しましたが、常に同じ方法です。

    TTLが経過するとロックが終了するため、NOWとLOCKDATEを使用して日付を減算し、オブジェクトが30分または1時間以上ロックされているかどうかを確認できます。

    もう1つの要素は、現在のユーザーがオブジェクトをロックしているユーザーであるかどうかを検討することです。そのため、LOCKWHOも必要です。これは、データベースのuser_id、PHPのsession_idにすることができます。ただし、ユーザーを識別するものに保管してください。IPアドレスはそれを行うのに適した方法ではありません。

    最後に、すべてのLOCKDATEとLOCKWHOをリセットするだけの一括ロック解除機能を常に考えてください...

    乾杯



    1. Windows上のODBCアプリケーションをQuickBooksOnlineに接続する

    2. PosgreSQL txid_current()値を解釈する方法

    3. 挿入を作成...Laravelでステートメントを選択

    4. MySQLでNULL値のないレコードを選択する方法