ホームページ >バックエンド開発 >PHPの問題 >PHPはデータベースの変更を監視できますか?

PHPはデータベースの変更を監視できますか?

(*-*)浩
(*-*)浩オリジナル
2019-10-18 13:50:573695ブラウズ

PHPはデータベースの変更を監視できますか?

#データベース内のデータの変更を監視するにはどうすればよいですか?

リアルタイムのプッシュ メッセージを実装する必要があります。フロントエンドはWebSocketを使用し、バックエンドはphpとnode.jsを使用します。 (推奨学習:

PHP ビデオ チュートリアル )

現在の問題は、フロントエンドがサーバー側の特定のデータ テーブルのデータ変更を監視していることです。 phpソケットとnodejsのsocket.ioはどちらもソケットポート上のイベントのみをリッスンしますが、データベース内の変更を取得するにはどうすればよいでしょうか?

このデータテーブルは、ソケット側のユーザーによって更新される場合もあれば、ソケット側では更新されない場合もありますが、場合によっては管理者によってデータが変更される場合もあります。では、サーバー側のソケットはどのようにしてデータ変更イベントをリッスンし、それをフロントエンドにプッシュバックするのでしょうか? !

データベースは mysql または mongo です。

解決策:

アプリケーション レベルでは、一般的に、変更監視を実装するためにインターセプターやその他の方法が使用されますが、この方法では、アプリケーション レベルでの直接変更の問題を解決できません。データベース側です。

データベース レベルには通常 3 つの方法があります:

1. Oracle などの商用データベースと同様に、接続しているサーバーに事前に通知できるイベント監視メカニズムを提供します。データ変更のパーティ;

2. トリガーを使用し、監視する必要があるテーブルにトリガーを設定してから、php 関数を呼び出して外部メカニズムをトリガーします。

##3. トリガーを使用し、トリガーを設定しますテーブルを監視する必要があるが、ログ テーブルに書き込むだけの場合でも、外部は引き続きログ テーブルをポーリングする必要があります。

4. データベース ログを監視またはスキャンして、データベース内のすべての変更を検出します。

以上がPHPはデータベースの変更を監視できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。