在哪里保存聊天/喊叫箱的消息?

时间:2011-06-14 16:17:33

标签: ajax optimization chat livechat

我要创建公共聊天/喊话框,几秒后会刷新(几乎像IRC或其他东西)。

我的计划:

1)HTML表单,

2)由于JavaScript不允许正常提交该表单,

3)保存提交的消息(这里有问题),

4)显示新消息(我猜是使用AJAX);

我不确定在哪里保存这些消息!我可以将它们保存在数据库中,但是......可能会非常慢,因为每个用户每隔几秒就会请求一条新消息,对吧?我可以尝试优化,但我不确定如何...也许我可以在其他地方保存这些消息?

1 个答案:

答案 0 :(得分:1)

我不明白为什么数据库访问速度会很慢(假设它是网络服务器本地的) - 我的意思是,如果无论如何永久访问数据,数据肯定会存储在RAM中,并且数据库已经过优化以便有效地处理查询。

显然,您可以将数据存储在您自己的数据结构中,然后定期将其保存到数据库,但是您正在重新发明轮子,如果您的服务器崩溃,您可能会丢失数据。

我个人会做的是将数据推送给您的客户而不是从他们那里提取数据(这似乎是您打算做的),这样您只需在有人登录或发送新消息时发送数据出现 - 两种情况都不应该经常发生。