【发布时间】:2013-03-05 16:10:37
【问题描述】:
我正在尝试使用 仅 JavaScript、PHP 和 SQL(确切地说是 PostgreSQL)创建一个聊天框。目前,我必须每 X 秒使用一次 AJAX 请求检查新消息。
现在这里有一些问题。最大的可能是发送到服务器的请求数量。这种活跃的连接可能会成为带宽杀手。
另一件事是,我们将这些消息保存在我们的数据库中。总是。现在,如果我们检查新消息,我们不想检查整个消息表来只获取我们的新消息。这就是为什么我只想找到新消息并将它们发送给客户。
我见过Ratchet。看起来非常有趣。不幸的是,这不是现在的解决方案。我有点想自己学习这样做,而不是依赖第三方工具。
根据我在谷歌上搜索到的信息,毕竟我需要的不仅仅是这个。如果您对使用某些东西有任何建议,我很想听听。但我现在有点需要在 PHP/SQL/JS 组合中做这个聊天框。
我将如何处理这样的事情?提前致谢。
【问题讨论】:
-
你说得对,这很棘手。 PHP/SQL 不是它的最佳工具集,但我理解您是否在技术上深陷其中。您将面临的一个大问题是,由于高读取和高写入,您无法有效地索引数据库。如果您可以删除旧记录,它将使数据库查询更快......您期望多少流量?其他功能呢?聊天室?还是只有一间大房间?你会永远保留消息吗?
-
我不知道流量会有多大。它将在某些页面上用作辅助功能,以与客户进行通信。也就是说,它应该是一对一的。组可能是一个不错的功能,但不是必需的。是的,我们计划永久保留这些消息。
-
为了提高性能,您还应该考虑将超过 5-15 分钟的消息归档到单独的表中。保留所有相同的数据 - 只需移动行。出于一般目的-无论如何,您永远不会使用超过 15 分钟的行-因此它可以使您的查询快速并索引较小-当您需要查询较大的旧行表时-它的流量要少得多,因此性能很高也是。
标签: php javascript jquery sql