Где сохранять сообщения для чата / рупора? - PullRequest
0 голосов
/ 14 июня 2011

Я собираюсь создать публичный чат / рупор, который будет обновляться через несколько секунд (почти как IRC или что-то в этом роде).

Мой план:

1) HTML-форма,

2) Если JavaScript не разрешает нормально отправлять эту форму,

3) Сохранить отправленное сообщение (здесь возникают проблемы),

4) Показать новые сообщения (с AJAX, я полагаю);

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

1 Ответ

1 голос
/ 14 июня 2011

Я не понимаю, почему доступ к базе данных будет медленным (при условии, что он является локальным для веб-сервера) - я имею в виду, что данные, безусловно, будут храниться в ОЗУ, если к данным так или иначе осуществляется постоянный доступ и базы данных достаточно оптимизированы для эффективной обработки запросов,

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

Что бы я лично сделал, это передавал данные вашим клиентам, а НЕ извлекал данные из них (что, кажется, вы планируете делать), таким образом, вам нужно будет отправлять данные только тогда, когда кто-то входит в систему илипоявляется новое сообщение - обе ситуации должны случаться не так часто.

...