Java 聊天应用程序,如何存储聊天历史记录?
我正在用Java开发一个聊天应用程序 所使用的体系结构是服务器-客户端体系结构。Java 聊天应用程序,如何存储聊天历史记录?,java,postgresql,list,text,chat,Java,Postgresql,List,Text,Chat,我正在用Java开发一个聊天应用程序 所使用的体系结构是服务器-客户端体系结构。 大部分代码是Java,JavaFX用于GUI,PostgreSQL用作数据库 由于这是一个聊天应用程序(桌面),我想知道存储聊天历史记录的最佳方式: 在本地文本文件中,客户端每次都必须读取 在数据库中,类型为String(VarChar) 在服务器中显示为列表 基于以下三种方式的一些问题: 如果客户端从不同的机器连接,文本文件将不在那里 是否可以使用聊天室ID在数据库中存储每个文本条目 服务器在运行期间可以存储多少
大部分代码是Java,JavaFX用于GUI,PostgreSQL用作数据库 由于这是一个聊天应用程序(桌面),我想知道存储聊天历史记录的最佳方式:
我会说Nr2-出于安全考虑(如果你关心的话),因为这是一种非常简单的方法。
对于开始,一个包含4列的数据库就足够了(日期/时间、聊天室ID、用户ID或只是一个名称和消息本身)。如果用户发送新消息,它将创建一个新行,其中包含列所需的所有信息。当客户端重新加载时(可能每10秒一次),您也可以轻松地对其进行迭代。我遇到了类似的情况,我也在从0开发聊天,唯一的区别是我是在iOS上进行的 我发展聊天的方式是:
在您的三个选择中,我建议您选择存储聊天历史记录的选项2:A数据库,原因如下:
总之,保持您的Java客户机-服务器数据库体系结构是非常好的,从技术上讲,所有3个选项都可以工作,但数据库是存储聊天历史的方法!即使建立数据库需要一点工作,但事实证明,它在效率和安全性方面优于所述的其他两种方法,因为数据库是为存档数据而构建的。1和3都不是持久的,只有2种方法可以实现。