Лучший способ проверить для пользователей новые личные сообщения на сайте? - PullRequest
2 голосов
/ 22 июня 2010

Я кодирую веб-сайт на PHP и Javascript, который реализует функцию приватных сообщений, и я хотел, чтобы он получал его, когда пользователь получал новое сообщение, он уведомлял их (с помощью мигающего значка «почта» в верхней части экрана) .

Вопрос в том, как реализовать эту функцию без необходимости проверять базу данных сообщений на наличие непрочитанных сообщений для указанного пользователя каждый раз, когда они загружают страницу, кажется, что слишком большая нагрузка на сервер для каждого пользователя при каждой загрузке страницы.

Кто-нибудь может предложить более эффективный метод? Не имеет значения, если пользователь не получит уведомление сразу после получения нового сообщения.

Спасибо!

Ответы [ 4 ]

1 голос
/ 22 июня 2010

Чтобы не делать это при каждой загрузке страницы, вы можете иметь некоторый JavaScript в функции таймера, который вызывает базу данных и проверяет, получил ли пользователь сообщения. Как сказал Ам, если у вас просто установлен флаг в пользовательской таблице, вы можете просто сделать

select message_flag from tbl_usrs where usr_id = $usr_id

Теперь, когда говорится, что оператор select, подобный этому, запускается каждый раз при загрузке страницы, он действительно не увеличит нагрузку на ваш сервер , что , если вы не используете сайт со значительным количеством пользователей. .

0 голосов
/ 22 июня 2010

Вы можете добавить поле «сообщения» в таблицу пользователей и увеличивать его при отправке сообщения пользователю.

0 голосов
/ 22 июня 2010

Я бы сказал, что, вероятно, не так уж много нагрузки на сервер, чтобы проверять таблицу сообщений на наличие нового сообщения при каждой загрузке страницы.

При правильной индексации это не должно быть проблемой.

$ 0,02

0 голосов
/ 22 июня 2010

Вы можете добавить новое поле в таблицу пользователей, для которого устанавливается значение true, когда новое сообщение поступает в его почтовый ящик.Таким образом, после получения сообщений, флаг устанавливается, и вы никогда не сделаете запрос для проверки непрочитанных сообщений.

...