ホームページ >バックエンド開発 >PHPチュートリアル >ユーザーがグループメッセージを読んだかどうかを確認するにはどうすればよいですか?

ユーザーがグループメッセージを読んだかどうかを確認するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-07-06 13:52:451751ブラウズ

ユーザーがグループメッセージを読んだかどうかを確認するにはどうすればよいですか?

皆さんありがとう

返信内容:

ユーザーがグループメッセージを読んだかどうかを確認するにはどうすればよいですか?

皆さんありがとう

プッシュモードとプルモードの選択

プッシュする場合は、上記の 2 つの方法と同様の方法が最も簡単です。データ量は少し大きくなる可能性がありますが、メッセージ テーブルで処理できます。

プルを選択した場合、メッセージ テーブル (msg_id、msg_content) に加えて、別のユーザー メッセージ テーブル (uid、msg_id、status) も存在します。メッセージを送信すると、メッセージは N 人のユーザーに送信されます。 N 個のレコードがあり、メッセージ一覧ページを開いたときに、各ページに表示されているメッセージの数に基づいて、msg_id に基づいてコンテンツを検索して表示します。クリックすると既読とみなされ、ステータスが更新されます

さらにいくつかのポイント

  1. ユーザー メッセージ テーブルのデータ量がまだ多すぎると感じる場合は、たとえば、古いメッセージが基本的に誰にも読まれない場合は、時間ごとに分割します。ユーザーの絶対数は読まない、ユーザーのアクティビティなどによって分割します。方法

  2. 読み取りのプレッシャーが大きすぎる場合は、読み取るたびに redis または memcache を使用してキャッシュしてください

メッセージユーザーのテーブルを追加します。ユーザーがメッセージページを読んだときに、関連するコンテンツを追加し、ユーザーがその行を持っている場合は、それが読まれたことが証明されます。

これは、データベース IO の負荷を軽減し、反復操作を排除するためにある程度最適化できるシンプルなロジックです

ユーザーがメッセージを読んだときにデータベースにステータス フィールドを追加し、ステータスを 0 から 1 に変更します。

update A set status = 1 where ID = .

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