0

Web サイトのユーザー間で簡単なメッセージ システムを構築したいと考えています。そのために、次のようにメッセージのテーブルを作成しました。

tbl_messages
 -pk id int
 -fk sender_id int
 -fk receiver_id int
 -is_read boolean 
 -send_date datetime

ユーザーが自分のサイトをブラウザで開いていて、他のユーザーが彼にメッセージを送信した場合、受信者のページが開かれている間に、受信者のユーザーに通知メッセージ (1 つの新しいメッセージまたは (3)メッセージ) を送信したいと考えています。例: facebook 通知、新しいコメントが到着すると stackoverflow 通知が来る

2分ごとに呼び出されるjavascript関数を作成することで、このようなアクションを実行しました。この関数は、通知を出力する ajax リクエストを行います。SQLクエリを2分ごとに実行する必要があり、テーブルに多数のレコードがある場合、そのようなアクションによりデータベースにさらに負荷がかかるため、これは正しく効果的な方法でしょうか。

これ以外にどのような解決策を実行できますか?

4

1 に答える 1

1

データベースのインデックスを正しく作成し、プログラムを設計した場合、問題にはなりません。

PHP でプッシュ システムを作成することはほとんど不可能であるため、Facebook などのように応答性の高い通知システムを設計することはできません。

専用/仮想化サーバー (および共有ホスティングではない) を使用している場合は、NodeJS などを調べてください。

于 2012-07-05T14:35:06.920 に答える