将所有数据保存在一个文件或多个文件中?

时间:2015-08-03 10:07:12

标签: java performance file

最好将所有用户数据保存在一个文件中,还是为每个用户创建一个包含其数据的文件?哪一个更快?

编辑:为了解释文件的使用方式,它由我的UserManager类管理,在加载用户时,请求id为id的line [id],然后读取属于该id的所有以下行。当它保存用户数据时,它会读取整个文件并应用更改,然后使用更改来编写文件。

3 个答案:

答案 0 :(得分:3)

我不主张使用文件来存储数据。使用数据库(NoSQL或Relational)。

如果你被迫使用一个文件(再次,糟糕的主意!),那么如果你一次只读取一个以上用户的信息,那么两者的更多性能就是从单个文件中读取,就像你一样只需打开一个流而不是多个流。写作也是如此。

修改

正如@BackSlash指出的那样,如果您一次只读/写一个用户,那么 NOT 的性能将始终相同。见下面的评论

答案 1 :(得分:0)

将(用户)数据保存到文件可能很慢。多个文件或一个。如果您缓存数据,则不必如此。

人们通常会转向为您执行此操作的解决方案,例如DataBase;) 它们很快并且为此而建造。还有很多例子。

例如:https://github.com/saintedlama/passport-local-mongoose

使用node.js(使用express,passport,mongoose(mongoDB for node.js),...) 项目中有一个例子 只需安装node.js,mongodb并运行示例

答案 2 :(得分:0)

如果必须使用文件。它会更好地用于一个文件。否则,您必须为每个用户打开和关闭文件。