我正在制作一台带有Java的服务器,它将为Flash客户端提供聊天服务。服务器将有关每个用户的数据存储在服务器上某处的.txt文件中。例如,当用户登录时,将向DatabaseManger类请求有关此用户的信息。然后它将搜索数据库并返回信息。关键是当分配人员在很短的时间内登录时,服务器会一次又一次地进行分配检查。 我想实现的想法是连接类做这样的事情:
String userData = DatabaseManager.getUserData(this.username);
然后,DatabaseManager不立即搜索,它将此请求存储在请求数组中,然后在固定的时间间隔内,它会通过数据库1次并将数据返回给请求此请求的客户端。这样,当15个人在一秒钟内登录时,它将不会通过所有信息15次。如何实现这个?
答案 0 :(得分:3)
你像地球上的其他人一样使用真正的DBMS。我渴望听到有人为这个应用程序选择数据库的原因。我无法想到任何会阻止它的事情。在当天,RDBMS是笨拙,昂贵,复杂的野兽。今天,它们在结账柜台就像小报一样随时可用。
现在没有理由不去DB,并且可以说,对于大多数应用程序来说,使用数据库比使用文件系统更有借口。
答案 1 :(得分:0)
如上所述,我建议使用像HSQLDB这样的现有数据库解决方案,从长远来看,你可以用这种方式做得更好,而不是一起攻击自己的解决方案。
如果您真的想要这样做,请查看ScheduledExecutorService。然后,您可以延迟向执行程序服务发出请求,并在该延迟中侦听更多数据并将其添加到查询中。