Базовая система уведомлений в PHP - PullRequest
0 голосов
/ 19 марта 2012

У меня небольшая социальная сеть PHP, работающая с базой данных MySQL.Пользователи в сети могут вступать в различные группы и получать обновления.

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

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

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

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

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Ваше решение в порядке. Убедитесь, что вы указали правильные поля в вашей базе данных.

Теперь, если у вас когда-либо возникнет вопрос, подобный этому, снова выполните следующие шаги:

  • Попробуй
  • Мера

Если вы беспокоитесь о проблемах с масштабируемостью в будущем ... сделайте то же самое еще раз, за ​​исключением того, что вы измеряете, сколько записей вы ожидаете (или хотите поддерживать). Будет просто сгенерировать 10.000 записей или даже миллионы и повторить попытку.

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

1 голос
/ 19 марта 2012

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

...