在线聊天数据库 - 最快的方式?

时间:2012-08-22 21:02:30

标签: mysql chat

你好我要创建一个基于网络的聊天程序。 所有聊天都是私密的,没有组合框。

我需要记录所有的聊天记录。 我的想法是将所有消息推送到mysql数据库,然后每隔半秒检查一次这个数据库是否有传入消息。

这是创建网络应用的最佳方式吗?该网站应该支持2000个用户同时聊天。

有没有更好的选择?我见过人们谈论多个数据库,文本文件,TCP / IP(IRC)和SQL等的组合。

1 个答案:

答案 0 :(得分:2)

MySQL能够一次处理大量并发请求,但是如何管理和维护数据库是一个重点。

完美维护和索引表应该没有问题。保持桌子的结构尽可能简单。像

这样的东西
+----------------+--------------+-----------------
|    from        |     to       |   message      |
+----------------+--------------+-----------------

并且,没有完美的方法来创建聊天程序。取决于许多其他因素,如

  • 请求类型: AJAX或Comet或WebSocket
  • 应用程序编码:没有垃圾编码,按照一个或多个设计模式清理OO代码
  • 缓存:尽可能缓存大部分静态信息。
  • 数据存档或交易处理
  • 查询您与消息一起提取什么内容(可能之前可以缓存这些内容。这些内容包括namesavatar等)