同时读写多个文件?

时间:2016-02-12 13:23:47

标签: multithreading

我有一个软件应用程序,它可以使用机器的所有内核在内存中拥有超过一百万个对象。每个对象都有一个唯一的ID,并且它自己的内部StateObject需要暂时保留在某个地方,StateObject的任何更改都会导致使用新的更新数据覆盖之前的StateObject

我想知道我是否应该阅读&将状态写入数据库或者我应该只在机器上本地创建文本文件,每个文件都使用对象的uniqueId命名,每个对象将读取和写入StateObject的json字符串到文件中。

哪个选项会产生更好的表现?数据库还是只写到本地文件系统?我应该使用uniqueId写入多个文件,还是使用多行写入一个文件,其中第一列将是唯一ID?经过一些研究后,我发现并行读写在HDD上较慢,但在SSD上较快。所以我想我必须使用SSD。

更新 写入磁盘的原因是因为有太多Objects s(> 1亿)并且每个object所有StateObject在内存中都会很昂贵所以我如果没有使用,请将Object的内部StateStateObject)保留在磁盘上。并且保证写入对于处理该对象的下一个请求非常重要。如果由于某种原因写入失败,则在处理下一个更耗时的请求之前,将从远程API构建StateObject

0 个答案:

没有答案