#データベース内のデータの変更を監視するにはどうすればよいですか?
PHP ビデオ チュートリアル )
現在の問題は、フロントエンドがサーバー側の特定のデータ テーブルのデータ変更を監視していることです。 phpソケットとnodejsのsocket.ioはどちらもソケットポート上のイベントのみをリッスンしますが、データベース内の変更を取得するにはどうすればよいでしょうか? このデータテーブルは、ソケット側のユーザーによって更新される場合もあれば、ソケット側では更新されない場合もありますが、場合によっては管理者によってデータが変更される場合もあります。では、サーバー側のソケットはどのようにしてデータ変更イベントをリッスンし、それをフロントエンドにプッシュバックするのでしょうか? ! データベースは mysql または mongo です。解決策:
アプリケーション レベルでは、一般的に、変更監視を実装するためにインターセプターやその他の方法が使用されますが、この方法では、アプリケーション レベルでの直接変更の問題を解決できません。データベース側です。データベース レベルには通常 3 つの方法があります:
1. Oracle などの商用データベースと同様に、接続しているサーバーに事前に通知できるイベント監視メカニズムを提供します。データ変更のパーティ;2. トリガーを使用し、監視する必要があるテーブルにトリガーを設定してから、php 関数を呼び出して外部メカニズムをトリガーします。##3. トリガーを使用し、トリガーを設定しますテーブルを監視する必要があるが、ログ テーブルに書き込むだけの場合でも、外部は引き続きログ テーブルをポーリングする必要があります。
4. データベース ログを監視またはスキャンして、データベース内のすべての変更を検出します。
以上がPHPはデータベースの変更を監視できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。