Home >Backend Development >PHP Tutorial >How to check whether users have read group messages?

How to check whether users have read group messages?

WBOY
WBOYOriginal
2016-07-06 13:52:451750browse

How to check whether users have read group messages?

Thank you everyone

Reply content:

How to check whether users have read group messages?

Thank you everyone

The choice between push and pull modes is a question

If you choose to push, the method similar to the two above is the simplest. The amount of data may be a bit huge, but a message table can handle it

If you choose to pull, in addition to the message table (msg_id, msg_content), there will also be a separate user message table (uid, msg_id, status). When you send a message, it is sent to N users. There will be N records, and then when you open the message list page, you will search and display the content based on the number of messages displayed on each page based on msg_id. If you click it, it will be considered read, and the status will be updated

A few more points

  1. If you feel that the amount of data in the user message table is still too large, you can split it according to different dimensions. For example, if the old messages are basically not read by anyone, they can be split by time. If the absolute number of users do not read them, they can be split by user activity. Split etc.

  2. If the reading pressure is too great, use redis or memcache to cache it every time you read

Add a message-user's table. When the user reads the message page, add relevant content, and then check the database. If the user has the row, it is proved that it has been read.
This is a simple logic that can be optimized to a certain extent to reduce database IO pressure and eliminate repeated operations

Add a status field in the database to indicate whether it has been read. When the user reads the message, update the database. Change the status from 0 to 1
update A set status = 1 where ID = .

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn