ホームページ >バックエンド開発 >PHPチュートリアル >PHP でデータベースの更新の監視を実装する方法。更新が発生したら、更新されたデータを Android にプッシュします。
PHP はデータベースの更新をどのように監視し、更新があると更新されたデータを Android にプッシュするのでしょうか?
PHP はデータベースの監視を実装しています。データベースが更新されると、データが PHP に送信されます (ajax を実装できると聞きましたが、Web をリアルタイムに更新する方法は使いたくないです)。これは非効率すぎてトラフィックを消費します)。PHP が更新されたデータを取得すると、データベースに入った後、PHP はすぐに更新されたデータを Android クライアントにプッシュします。
追加の質問ですが、データベースにトリガーを記述する必要がありますか? 可能であれば、ソースコードがあることを望みます。
------ソリューションのアイデア----------------------
~~Baidu Cloud Push
------ソリューションのアイデア----------------------
スケジュールされたタスクを使用してスクリプトを実行する。
------解決策のアイデア----------------------
その段落は彼ですら人々を欺いています。本人も信じないだろう。それは良い願いです
まず第一に、ajax 接続はクライアントによって開始されます。データが取得できたとしても、それは「プッシュ」ではありません
次に、新しい接続を開始しますAjax request, 次の Ajax リクエストを開始します これは、接続が次々に短い接続で構成されており、いわゆる長い接続がないことを明確に示しています
さらに、 の場合ユーザーが操作をしていない、接続がスリープ状態である この場合、ユーザーが操作をしていないと更新内容は取得できないのではないでしょうか?
SQL サーバー データベースを使用している場合は、トリガーを通じてストアド プロシージャを呼び出すことができます。 SQL Server のストアド プロシージャはシステム コマンドを実行できるため、データが更新されたことをテキスト メッセージなどでユーザーに通知することができます
------解決案------ - ---------------
長いリンク方法でこの効果を実現できます。WeChat Web バージョンの QR コード ログインを参照できます。私の理解によれば、具体的な実装原則は次のようになります。
クライアントは ajax リクエストを開始し、サーバーはデータベースにクエリを実行して新しいデータがあるかどうかを確認し、新しいデータがある場合は結果を返します。そうでない場合は、数秒間スリープして再度クエリを実行し、成功したかどうかに関係なく結果が返され、クライアントは引き続き新しいリクエストを開始して前のプロセスを繰り返します。 >