wil*_*age 62 mysql scalability chat
我正在构建一个聊天应用程序,我希望在聊天对话中发送的所有消息都有完整的历史记录.目前,我将每条消息作为一行存储在名为"messages"的表中.我知道这个表可能会变得很大,因为即使像'Hi'这样的小消息也会拥有自己的数据库记录.
谁能推荐一个更具伸缩性的mysql解决方案?我不要求单个邮件可搜索,可编辑或删除.整个会话可以存储在一个巨大的领域吗?
很想听听你的想法!
Kev*_*ton 18
如果您可以避免同时写入单个文件,则听起来您不需要数据库来存储聊天消息.
只需将对话附加到文本文件(每个用户\对话1个文件).并有一个目录/文件结构
这是文件结构的简化视图:
chat-1-bob.txt
201101011029, hi
201101011030, fine thanks.
chat-1-jen.txt
201101011030, how are you?
201101011035, have you spoken to bill recently?
chat-2-bob.txt
201101021200, hi
201101021222, about 12:22
chat-2-bill.txt
201101021201, Hey Bob,
201101021203, what time do you call this?
Run Code Online (Sandbox Code Playgroud)
那么您只需要存储用户ID,会话ID(guid?)和对文件名的引用.
我想你会发现很难找到更简单的可扩展解决方案.
您可以使用LOAD_FILE以获取数据:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
如果您需要重建对话,则需要在发送的聊天消息(文件中)旁边放置一个值(日期时间)以允许您对文件进行合并和排序,但此时这可能是一个好主意考虑使用数据库.
| 归档时间: |
|
| 查看次数: |
99471 次 |
| 最近记录: |