Php 在消息系统中,最好存储在数据库还是文件系统中?

Php 在消息系统中,最好存储在数据库还是文件系统中?,php,mysql,performance,filesystems,Php,Mysql,Performance,Filesystems,我将为一个门户网站开发一种消息传递系统,在这个系统中,用户可以私下进行交流,每个对话都是关于一个“主题”,最后每个对话都应该“关闭”。 每个用户可以就同一主题与不同的用户进行不同的对话。因此,最终每个用户都应该有很多对话。 一旦发送给收件人,对话将不可编辑 我想知道是否最好将这些对话存储在文件中(每次我在文件中添加新消息),或者是否最好将它们存储在mySQL中 其中一种解决方案是否存在一些缺点?是否有人已经有过类似情况的经验?我建议不要使用文件系统: 您不能从多个Web服务器访问它 数据库还允

我将为一个门户网站开发一种消息传递系统,在这个系统中,用户可以私下进行交流,每个对话都是关于一个“主题”,最后每个对话都应该“关闭”。 每个用户可以就同一主题与不同的用户进行不同的对话。因此,最终每个用户都应该有很多对话。 一旦发送给收件人,对话将不可编辑

我想知道是否最好将这些对话存储在文件中(每次我在文件中添加新消息),或者是否最好将它们存储在mySQL中


其中一种解决方案是否存在一些缺点?是否有人已经有过类似情况的经验?

我建议不要使用文件系统:

  • 您不能从多个Web服务器访问它
  • 数据库还允许您更轻松地存储一些元数据,例如消息发送日期
  • 使文件系统备份与数据库备份保持一致可能很复杂

如果你关心大小,你可以考虑把数据压缩到数据库中,然后从数据库中解压缩。在文件系统中,很难保持这种关系,比如说你可以在给定的日期X上搜索2个用户之间的对话。在许多情况下,很难从文件中获取此类信息。所以对你更好,RDBMSok,你说得对。很好。您可以使用MySQL之类的RDBMS系统,也可以使用MongoDB、Redis等NoSQL解决方案。我不会使用文件,因为在更大的范围内,文件I/o会出现性能问题,当多台机器必须访问此数据时,还会出现复制/共享问题。