ホームページ >バックエンド開発 >PHPチュートリアル >データベース変更の動的リスニングを実装する方法

データベース変更の動的リスニングを実装する方法

WBOY
WBOYオリジナル
2016-06-13 12:57:051042ブラウズ

データベースの変更を動的にリッスンするにはどうすればよいですか?
ショッピング ウェブサイトを作成したいのですが、誰かが製品を購入したときに「誰かがあなたの製品を購入しました」のようなメッセージを表示したいのですが、データベースの変更をリッスンする方法はありますか? ?データベースに定期的にクエリを実行すると、大量のリソースが消費されるはずです。 (1回/1秒)。みなさん、ありがとう


-----解決策--------------------------------
投稿者の意味、意味はわかりました フロントデスクの誰かが注文をすると、バックエンドのスタッフは、更新後に注文情報を見るのではなく、すぐに注文情報を取得できます。
現在、次のメソッドがあります。
1. 顧客が注文するとき、データを挿入するときに管理者のメールアドレスにメールを送信します。QQ が通知してくれるので、QQ メールを使用するのが最適です。こうすることで、誰かが注文したことをすぐに知ることができます。もちろん、テキスト メッセージを使用することもできます (ただし、お金がかかり、時間がかかります)。
2. JS setInterval を使用して、データベースに変更があるかどうかを 3 秒ごとに確認します。変更がある場合は、QQ または Want Want 通知音を鳴らして、新しい注文があることをバックエンド スタッフに知らせることができます。
私のコードを投稿してください:
var int=setInterval("clock()",20000);<br />
function clock(){<br />
  $("#call_div").html('<li>正在刷新屏幕。。。</li>');<br />
  var url = "extend/new_dd.php?cache="+Math.random();<br />
  $.get(url,function(result){<br />
		$("#call_div").html(result);<br />
  });<br />
}

3. JS setInterval も使用されますが、データベースのクエリには使用されません。顧客が注文すると、データの挿入時に $_SESSION[odrer_state] の内容が 1 に変更され、その後、JS setInterval を使用して 3 秒ごとに内容が取得されます。 1 の場合、バックエンド スタッフがキー ポイントを認識した場合、それを処理し、$_SESSION[odrer_state] の内容を 0 に変更します。この利点は、クエリが多すぎるためにデータベース リソースが消費されないことです。

実際には多くの方法があり、どれが最適であるかによって異なります。私のウェブサイトにあるこの機能の写真を添付し​​ます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。